Vla*_*lad 2 mysql sql database primary-key sql-delete
如何在不具有每一行唯一输入的列的情况下从数据库中删除一行?例:
Surname Name Age
Mark Oswell 12
Adrian Peterson 15
Mark Penda 18
July Peterson 12
Run Code Online (Sandbox Code Playgroud)
执行此操作的基本方法是:
DELETE FROM ____ WHERE ____
Run Code Online (Sandbox Code Playgroud)
如果我删除WHERE surname = Mark,我将不会只删除1行,而是2行。解决此问题的最佳方法是使用主键,但是我不能使用它(长话短说,不要问为什么:))。所以我需要另一种方法来解决这个问题。
有什么办法可以删除行号?
例如,假设我要使用删除行Mark Penda 18。我可以做类似的事情吗:
DELETE FROM ____ WHERE row = 3
Run Code Online (Sandbox Code Playgroud)
数据库表是未排序的集合。行没有内在数字。
但是,您可以做的就是在所有列上都有条件。而且,如果您想确保自己仅删除一行,请添加一条limit规则:
DELETE FROM mytable
WHERE name = 'Mark' AND surename = 'Oswell' AND age = 12
LIMIT 1
Run Code Online (Sandbox Code Playgroud)