我有两个表table1
和table2
。我想根据table2
中的条件从table1
中删除。内部加入和删除不工作在mysql
我有以下MySQL查询:
DELETE FROM table1
INNER JOIN table2 ON table2.col1 = table1.col1
WHERE table2.col2 = '1'
这返回一个语法错误。上述语法有问题吗?
我有两个表table1
和table2
。我想根据table2
中的条件从table1
中删除。内部加入和删除不工作在mysql
我有以下MySQL查询:
DELETE FROM table1
INNER JOIN table2 ON table2.col1 = table1.col1
WHERE table2.col2 = '1'
这返回一个语法错误。上述语法有问题吗?
您需要指定要从删除表:
DELETE table1
FROM table1 INNER JOIN
table2
USING (col1)
WHERE table2.col2 = '1';
试试这个:
DELETE FROM table1
WHERE EXISTS(
SELECT 'C'
FROM table2
WHERE table2.col1 = table1.col1
AND table2.col2 = '1'
)
你可以这样做:
DELETE FROM table1 WHERE col1 IN (select col1 from table2 WHERE table2.col2 = '1');
是做到了!谢谢 :) – 2014-10-16 15:14:34