在MySQL表中运行更新而不返回超出范围值的PHP代码
我有点问题。我使用自动化的Dreamweaver编程功能,构建了一个表单,动态更新MySQL表中的“volume”列。这个“体积”列包含我必须从中减去的值。我已经能够用一个简单的在MySQL表中运行更新而不返回超出范围值的PHP代码,php,mysql,Php,Mysql,我有点问题。我使用自动化的Dreamweaver编程功能,构建了一个表单,动态更新MySQL表中的“volume”列。这个“体积”列包含我必须从中减去的值。我已经能够用一个简单的 UPDATE offers SET volume=volume-%s 它的工作原理是返回: BIGINT无符号值超出了“(otcbb提供的卷-2000)”的范围 我对此感到非常高兴 问题是,当我将此脚本上载到宿主服务器时,它的行为方式不同。当我在线运行查询时,它不会抛出任何错误,并使用新值更新表列:42949672
UPDATE offers SET volume=volume-%s
它的工作原理是返回:
BIGINT无符号值超出了“(otcbb
提供的
卷
-2000)”的范围
我对此感到非常高兴
问题是,当我将此脚本上载到宿主服务器时,它的行为方式不同。当我在线运行查询时,它不会抛出任何错误,并使用新值更新表列:4294967295
如何在网上获得相同的结果
在本地,我运行的是MySql版本5.0.8-dev和MySql版本5.0.45
如能及时答复,我将不胜感激
谢谢我猜你开始时的音量是0。4294967295是2^32-1,因此您可能在某个地方有下溢。两台服务器上的表结构是否相同?请把它们贴出来。
未签名的
-此字段中只能有零值或正值field@tombom两种环境中的表值相同。是无符号只能是零值或正值。我认为MySQL处理整数和字符串的方式有很大的局限性。我能够通过使用javascript函数来控制用户的输入来解决这个问题。当然,Jvascript在服务器上处理之前会触发错误,并且输入字段中始终会输入正确的值。不过,谢谢你的建议,它们的信息量很大。