这是我使用的查询
DELETE FROM tableName WHERE dateTime like '2014-10-21 %' OR '2014-10-22 %';
此查询将删除表中的所有行。有人可以解释原因吗?
更新: 这是日志
1 11:45:50 DELETE FROM tableName WHERE dateTime like '2014-10-21 %' OR '2014-10-22 %' 49 row(s) affected, 1 warning(s): 1292 Truncated incorrect INTEGER value: '2013-10-22 %'
没有OR运算符
可以正常工作由于
答案 0 :(得分:2)
WHERE
子句读取(dateTime like '2014-10-21 %') OR ('2014-10-22 %')
(我的括号)。由于'2014-10-22 %'
始终为true,因此匹配所有行。
您需要比较dateTime
:
OR
DELETE FROM tableName WHERE dateTime like '2014-10-21 %' OR dateTime like '2014-10-22 %';
答案 1 :(得分:2)
也许这有效:
DELETE FROM tableName WHERE dateTime like '2014-10-21 %' OR dateTime like '2014-10-22 %';
我发现你的语法很奇怪。为什么您的字段名称为“datetime”?这是一个类型名称。通常也喜欢运算符不用于过滤日期时间字段。我认为在这种情况下,最佳条款是最好的。