我在mysql中有两个表。一个名为registros_temporal的文件,除了一个名为id的列之外,其他所有列都是寄存器。
我需要将registros_temporal中的所有行都插入到注册表中,并且列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列是整型字段
发布于 2016-05-07 00:18:47
2147483647是MySQL中带符号整型数据类型的最大整型值。初始值16010000000大于2147483647。将列类型更改为bigint
https://stackoverflow.com/questions/37076716
复制相似问题