1

我需要更正这个查询!谢谢!

我尝试:

UPDATE `item_proto_copy2` 
SET `socket_pct`='1' 
WHERE `vnum` END AS 7 AND `type`=1
4

3 回答 3

2

你的意思是?

UPDATE `item_proto_copy2` 
SET `socket_pct`='1' 
WHERE `vnum` = 7 AND `type`=1

如果没有,后续问题,在这种情况下你想要什么WHERE vnum END AS 7 AND type=1

更新 1

UPDATE `item_proto_copy2` 
SET `socket_pct`='1' 
WHERE RIGHT(`vnum`, 1) = '7' AND `type`=1
于 2013-02-01T18:27:20.757 回答
2

@JW 的答案是通过将 a 转换vnum为 aCHAR然后用RIGHT()函数将其切断,只保留右边的第一个字符:

WHERE RIGHT(vnum, 1) = '7'

您也可以LIKE以类似的方式使用(隐式转换为CHAR然后检查最右边的字符):

WHERE vnum LIKE '%7'

如果数字是非负整数,这也可以使用模运算:

WHERE vnum MOD 10 = 7
于 2013-02-02T01:24:04.540 回答
1

在 where 子句中猜测您要尝试做什么。END不属于您的 WHERE 子句,您也不能在ASWHERE 子句中使用。

UPDATE `item_proto_copy2` 
SET `socket_pct`='1' 
WHERE `vnum` = 7 AND `type`=1
于 2013-02-01T18:25:18.637 回答