Mysql - UPDATE JOIN设置一个未知值" 2147483647"到每个条目

时间:2017-12-03 14:22:02

标签: mysql sql join sql-update

我想要更新整个 sav,其中 phone包含表{{1}中的id }}。我想将stock_phone列设置为sav.phone值,这是我尝试的查询:

stock_phone.imei

但是每行的UPDATE sav JOIN stock_phone ON sav.phone = stock_phone.id SET sav.phone = stock_phone.imei; 值设置为sav.phone,且此值与2147483647中的任何imei值不匹配。
我搜索了如何stock_phoneUPDATE,但根据我阅读的问题,我的语法似乎是正确的。

3 个答案:

答案 0 :(得分:2)

最后自己解决了..
我正在尝试将一个太大的整数设置为INT(8)字段。 2147483647值表示 不正确的整数 ,这就是该值与我的某条记录不匹配的原因。 希望它会帮助一些人。

答案 1 :(得分:2)

2147483647等于INT(4)2^31-1限制。 IMEI数字(15位数)大于此值。

答案 2 :(得分:1)

我很好奇,如果这会返回相同的结果:

UPDATE sav s       
   SET s.phone = (SELECT sp.imei FROM stock_phone sp WHERE s.phone = sp.id);

我没有看到更新用于JOIN的密钥的问题,但可能是触发某种错误。