【发布时间】:2014-04-16 17:20:03
【问题描述】:
我有一个三列表格,| id | systemid | VendorTxCode |。
id = 1,
systemid = -1,VendorTxCode = 1
我正在运行以下查询:
UPDATE core_licences SET systemid = '51' WHERE VendorTxCode = '1'
它可以正常工作,但表中的 systemid 更改为 0 而不是 53。我打开了 mysql.log,它看起来很好:
110 Prepare UPDATE core_licences SET systemid = ? WHERE VendorTxCode = ?
110 Execute UPDATE core_licences SET systemid = '51' WHERE VendorTxCode = '1'
PHP 很好,没有报告任何错误,从上面的 mysql.log 文件中我们可以看到,查询正在构建并正常执行。 当更新查询显然工作正常时,什么会导致表字段更新为“0”?
该字段是 int,允许 30 个字符。我也尝试过没有运气的varchar。在绑定查询参数时,我也尝试过i 和s。
一切都很好,我 100% 确定。就是这个该死的表字段!我已经删除了 systemid 列并重新创建了它,没有运气。
【问题讨论】:
-
我已将其标记为删除,这是一个非常集中的用户错误。
标签: mysql sql sql-update