我想加入几个表,但我只想从中删除行 threadread表。我得到了以下SQL,显示了我要删除的行。
SELECT * FROM threadsread tr, threads t WHERE
tr.tid=t.tid and tr.uid=2111 and t.fid=30
在Mysql docs上说明: “*对于多表语法,DELETE从每个tbl_name中删除满足条件的行。*”
获取上述选择删除,线程表是否也会受到影响?
DELETE FROM threadsread tr, threads t
WHERE tr.tid=t.tid and tr.uid=2111 and t.fid=30
如果可以的话,我怎样才能只获得受影响的threadread表?
答案 0 :(得分:2)
在许多(可能是大多数或所有)SQL风格中,您提供的delete语句实际上是无效的。而是使用:
DELETE FROM threadsread tr
USING threads t
WHERE tr.tid=t.tid AND tr.uid=2111 AND t.fid=30;
这显然只会删除' FROM'中指定的一个表格。子句。