我想要运行的SQL查询有问题。基本上我只想更新一个表,如果它没有'。'在其中(例如,1行具有值' 2'而另一行将具有值' 2.1',在这种情况下,我只想用2更新值。)这就是我试过的
UPDATE new__tags SET sort_order = 1 WHERE id = '.$id. ' AND sort_order NOT LIKE "%.%"';
不幸的是,这不起作用,仍然更新了一切。 谢谢你的时间。
答案 0 :(得分:0)
试试这个:
"UPDATE new__tags SET sort_order = 1 WHERE id = $id AND CAST(sort_order AS CHAR) NOT LIKE '%.%'";
答案 1 :(得分:0)
如果您的sort_order
是INT
,请使用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 '[.]'";