mysql - 在没有主键的情况下从 MYSQL 数据库中删除 ROW
问题描述
如何从我的数据库中删除一行,而没有每一行都有唯一输入的列?例子:
Surname Name Age
Mark Oswell 12
Adrian Peterson 15
Mark Penda 18
July Peterson 12
你这样做的基本方法是:
DELETE FROM ____ WHERE ____
如果我删除WHERE surname = Mark
,我不会只删除 1 行,而是 2 行。解决此问题的最佳方法是使用主键,但我不能使用它(长篇大论,不要问为什么 :))。所以我需要另一种方法来解决这个问题。
有什么办法可以删除行号吗?
例如,假设我想删除带有Mark Penda 18
. 我可以做类似的事情:
DELETE FROM ____ WHERE row = 3
解决方案
数据库表是未排序的集合。行没有内在数字。
但是,您可以做的只是对所有列都有条件。如果你想更加确定你只删除一行,添加一个limit
cluase:
DELETE FROM mytable
WHERE name = 'Mark' AND surename = 'Oswell' AND age = 12
LIMIT 1
推荐阅读
- python - 如何使用 python-can 包从 blf 文件中提取 CAN 错误帧
- java - 字符串无法转换为布尔错误
- cordova - 如何使用 Ionic 自动拍摄照片?
- java - HashMap 中 Key 的“标准化”哈希
- angular - 为什么坐标没有设置到对象中?
- gtk - 如何获得文本宽度?
- daterangepicker - 日期字段显示在弹出窗口中时的 Daterangepicker 问题
- javascript - 在 Stache Can.js 中处理 NDJSON 流 Promise
- python - 烧瓶 request.get_json() 返回字符串而不是 json
- tensorflow - BahdanauAttention 中的 num_units 参数是什么?