You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用UPDATE IGNORE与LOWER()函数的WHERE子句无生效问题

为啥你的UPDATE语句没生效?

嘿,我一眼就瞅出问题所在了——你的WHERE条件完全没命中任何行啊!

看你给的表数据,aname字段的值全是4010755600,但你的语句里却在拿LOWER(aname)去匹配'man on an island',这俩八竿子打不着,数据库当然找不到要更新的记录啦!

怎么改才能达到你的需求?

看你的描述,应该是想把那些dtitle是Man on an Island(不管大小写)的行,把aname统一改成'Man on an Island'对吧?那你得把WHERE条件里的字段换成dtitle才行:

UPDATE IGNORE discs 
SET aname = 'Man on an Island' 
WHERE LOWER(dtitle) = 'man on an island';

要是你其实想更新所有aname为4010755600的行,那更简单,直接这么写:

UPDATE IGNORE discs 
SET aname = 'Man on an Island' 
WHERE aname = '4010755600';
小提醒

执行UPDATE之前,最好先用SELECT语句确认一下筛选条件能选中你要的行,比如:

SELECT * FROM discs WHERE LOWER(dtitle) = 'man on an island';

这样能避免误更新不该动的数据~

内容的提问来源于stack exchange,提问作者Christian

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.27 03:29:25