我正在尝试同时从两个不同的表中删除行.表格看起来像这样:
TABLE - Value
-----------
ID
Field
<some other stuff...>
TABLE - Srch
-----------
Value_ID
Srch_ID
<some other stuff...>
Run Code Online (Sandbox Code Playgroud)
我想删除所有来自行VALUE哪里field等于"成功",并删除该行SRCH链接到VALUE通过value_id.在SRCH那里可以有多个相同的行value_id.
这个SQL语句会是什么样的?
我建议在你的2个表之间使用外键ON DELETE CASCADE.因此,您只需要删除Value中的行,并删除Srch中的所有相应行.
您可以将以下约束添加到数据库:
ALTER TABLE Srch ADD CONSTRAINT
FK_Value_ID FOREIGN KEY(Value_ID)
REFERENCES Value (ID)
ON DELETE CASCADE;
Run Code Online (Sandbox Code Playgroud)
为了清楚起见(引自xQbert评论):当删除Value中的ID时,"级联将始终发生".