3 回答
TA贡献1811条经验 获得超5个赞
只是建议 LIKE 对字符串起作用,通常与 wild char 一起使用
如果您需要完全匹配,那么可能是您需要的
,然后使用 equal
UPDATE `users`
SET `users`.`first_name`=null,
`users`.`last_name`=null,
`users`.`age`=null,
`users`.`role`=null,
`users`.`gender`= 3
WHERE `users`.`id` = 10
如果您需要模式匹配,请使用 like 和 wildchar 例如;
UPDATE `users`
SET `users`.`first_name`=null,
`users`.`last_name`=null,
`users`.`age`=null,
`users`.`role`=null,
`users`.`gender`= 3
WHERE `users`.`id` LIKE '%10%'
TA贡献1828条经验 获得超13个赞
但我自己发现了问题:我比较了两个字符串(一个硬编码的字符串和一个由我的构建器生成的字符串)它们具有相同的长度,所以我逐个字符地打印每个字符串,然后我发现了问题!一些字符等于 null 所以 SQL 不喜欢它并产生错误但是当我打印它时 null 字符被忽略了......
TA贡献1946条经验 获得超3个赞
有时引号 ' 不被 mysql 接受,但你可以尝试这个简单的没有 qoutes
UPDATE users
SET first_name=null,
last_name=null,
age=null,
role=null,
gender='3'
WHERE id LIKE '%10%'
并确保您的数据类型正确, null 也等于空,您可以尝试将其更改为 '' like first_name=''
添加回答
举报