我更新超过50000行,其中BIGINT总是13 - 14个数字长。但有一些(很少,低于0.01%)的整数我不能用来更新字段。试试吧:
使用字段创建表格(artikel
):
field(BIGINT)
,其值为4030521732735
stuff(text)
,其值为abc
然后尝试:
mysqli_query($con, "UPDATE artikel SET stuff = 'newabc' WHERE field = 4030521732735");
这个字段是不是也被你更新了?如果是的话,这个int会出现什么问题?任何想法如何解决这一问题?抱歉我的英文不好
更新
我尝试了这个,但它也没有用:
$bigint = gmp_init("4030521732735");
$bigint_string = gmp_strval($bigint);
mysqli_query($con, "UPDATE test SET stuff = 'newabc' WHERE field = $bigint_string");
和
$int = strval("4030521732735");
mysqli_query($con, "UPDATE test SET stuff = 'newabc' WHERE field = $int");
答案 0 :(得分:0)
这个问题实际上与int或bigints或其他什么没有关系......相当长的讨论得出的结论是,在发送到DB之前没有正确地转义字符串(偶尔包含引号的字符串); - )