如何从数据库中删除一行,而不是每行都有唯一输入的列? 例如:
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
答案 0 :(得分:4)
数据库表是未排序的集合。一行没有内在数字。
但是,您可以做的只是在所有列上都有条件。如果您想要确定只删除一行,请添加limit
cluase:
DELETE FROM mytable
WHERE name = 'Mark' AND surename = 'Oswell' AND age = 12
LIMIT 1
答案 1 :(得分:0)
就这样做:
delete from my_table where name in ('Oswell')