仅当SQL查询中没有特定值时,如何运行SQL查询

时间:2016-05-20 09:49:54

标签: php mysql

我想要运行的SQL查询有问题。基本上我只想更新一个表,如果它没有'。'在其中(例如,1行具有值' 2'而另一行将具有值' 2.1',在这种情况下,我只想用2更新值。)这就是我试过的

UPDATE new__tags SET sort_order = 1 WHERE id = '.$id. ' AND sort_order NOT LIKE "%.%"';

不幸的是,这不起作用,仍然更新了一切。 谢谢你的时间。

3 个答案:

答案 0 :(得分:0)

试试这个:

"UPDATE new__tags SET sort_order = 1 WHERE id = $id AND CAST(sort_order AS CHAR) NOT LIKE '%.%'";

答案 1 :(得分:0)

如果您的sort_orderINT,请使用CAST

"UPDATE `new__tags` SET `sort_order` = 1 WHERE `id` = '.$id. ' AND CAST(`sort_order`  as CHAR) NOT LIKE '%.%'";

答案 2 :(得分:0)

尝试使用phpmyadmin进行测试

"UPDATE new__tags SET sort_order = 1 WHERE id = $id AND sort_order NOT REGEXP '[.]'";