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