我想删除mysql表中的所有记录,但很少使用下面的查询
DELETE FROM table_name WHERE (user_id,year) NOT IN
(
'1','2009',
'3','2010',
'7','2007'
);但是它显示了错误,因为操作数应该包含2列,对同一表中的多列使用不正确的方式
发布于 2017-08-30 06:44:41
语法是错误的,应该是
DELETE FROM table_name WHERE (user_id, year) NOT IN
(
('1', '2009'),
('3', '2010'),
('7', '2007')
);注意每个元组周围添加的括号。
发布于 2017-08-30 06:43:23
Id应该是唯一的所以
DELETE FROM table_name WHERE id NOT IN
(
1,
3,
7
);应起作用
https://stackoverflow.com/questions/45953635
复制相似问题