【发布时间】:2018-08-06 18:29:56
【问题描述】:
我有一个包含复合主键 (a, b) 的表,我想使用 INSERT...ON DUPLICATE KEY UPDATE 语法更新多个列。
INSERT INTO table_a (a, b, c, d, e) VALUES (1533571200, 1, 7, 1, -1)
ON DUPLICATE KEY UPDATE c = c + 7, d = d + 1, e = e - 1;
这对所有列都非常有效,除了具有 UNSIGNED 值的列(列 e)。
既然等式 e - 1 总是产生一个大于 0 且小于 100 的数字,那么查询执行是否有可能独立于 DUPLICATE KEY 检查尝试 INSERT 语句?
如果是,是否有一些文档专门解决了这个问题或提供了一些相关的理由?
【问题讨论】:
-
equation e + -1是什么?又怎么总是大于 0? -
is working perfectly那么错误是什么? -
错误是 1264 Out of range value for column 'e'
-
通过完美工作,我的意思是这仅限于本专栏
-
鉴于表中的数据和我正在尝试的语句,方程 e + -1 始终大于 0
标签: mysql unsigned-integer on-duplicate-key