MySQL从具有可变增量的另一个表插入

时间:2016-05-06 15:57:19

标签: mysql insert-into

我在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列是整数字段

1 个答案:

答案 0 :(得分:4)

2147483647是MySQL中用于signed int数据类型的最大int值。初始值16010000000大于2147483647。 将列类型更改为bigint