我在mysql中有两个表。一个名为registros_temporal的所有registros列除了一个名为id的列。
我需要将registros_temporal中的所有行插入到registros中,并将列id以一个因子递增。
结构:
registros:
id, fecha, codigos... (50 columns)
registros_temporal
fecha, codigos... (49 columns)
我的查询是
SET @mes = 01;
SET @anho = 2016;
SET @id = (@anho-2000)*1000000000 + @mes*10000000;
SELECT @id;
INSERT INTO registros
(
SELECT (@id := @id + 1) AS id, ll.* FROM registros_temporal ll
ORDER BY fecha ASC
)
;
SELECT (@id := @id + 1) AS id, ll.* FROM registros_temporal ll
ORDER BY fecha ASC;
当数据加载时,我在id列中出错。全部是2147483647,当我期待16010000001,16010000002,16010000003,16010000004,......
Id列是整数字段
答案 0 :(得分:4)
2147483647是MySQL中用于signed int数据类型的最大int值。初始值16010000000大于2147483647。 将列类型更改为bigint