0
我想查找特定列中未格式化文本的表格的所有行并重新格式化它。更新似乎是正确的选择,但它失败了。例如,这表:为什么MySql更新忽略where子句?
CREATE TABLE `test` (
`id` INT(11) NOT NULL AUTO_INCREMENT,
`name` VARCHAR(50) NOT NULL,
PRIMARY KEY (`id`));
INSERT INTO `test` (name) VALUES ('jerk'),('cad'),('slouch'),('slime');
运行下面的更新到!
添加到不包含它(但不是名称是这样)每名忽略where子句中,始终更新:
UPDATE test SET name = CONCAT(name, '!') WHERE LOCATE(name, '!') = 0;
重复应用此更新不断添加更多!到name
的末尾。
这里发生了什么事,我该如何做这个条件更新?
编辑:固定错字WHERELOCATE - > WHERE LOCATE
将参数交换到LOCATE。 – Uueerdo
查询中WHERE和LOCATE之间是否有空格? – cnsumner