mysql批量修改数据库某一字段内容排除包含字符串

文章摘要: mysql修改字段内容,但需要排除包含字符串,我以为是这样的 使用not in UPDATE `*_ecms_games` SET `titlepic`= REPLACE(`titlepic`, "titlepic/", "/gamespics/titlepic/") WHERE "d/file" not in `titlepic`……


mysql修改字段内容,但需要排除包含字符串,我以为是这样的 使用not in

UPDATE `*_ecms_games` SET 
`titlepic`= REPLACE(`titlepic`, "titlepic/", "/gamespics/titlepic/") 
WHERE "d/file" not in `titlepic`;

实际上这样是不对的,特别是在 WHERE 子句中使用 not in 的方式。正确的语法应该是在 titlepic 字段中排除包含字符串 “d/file” 的记录进行替换。以下是正确的 SQL 查询语句:

UPDATE `www_92game_net_ecms_h5`
SET `titlepic` = REPLACE(`titlepic`, "titlepic/", "/gamespics/titlepic/")
WHERE `titlepic` NOT LIKE '%d/file%';

我们使用了 REPLACE 函数来替换 titlepic 字段中的字符串,然后在 WHERE 子句中使用 NOT LIKE 来排除包含字符串 “d/file” 的记录。这样只有不包含 “d/file” 的记录才会被替换。

请注意在执行 SQL 查询之前备份你的数据,以防止意外的数据损失。

0 0 投票数
文章评分
订阅评论
提醒
guest

0 评论
内联反馈
查看所有评论