MySQLIMPORT十六进制值



我正在尝试将CSV文件导入MySQL 5.1数据库。

创建表的脚本如下:

CREATE TABLE `session_hdr` (
  `id` bigint(20) unsigned NOT NULL,
  `type` smallint(5) unsigned NOT NULL,
  `session_start_time` decimal(20,8) unsigned DEFAULT NULL,
  `session_end_time` decimal(20,8) unsigned DEFAULT NULL,
  `session_last_update_time` decimal(20,8) unsigned DEFAULT NULL,
  `session_flag` tinyint(3) unsigned DEFAULT NULL,
  `version` tinyint(3) unsigned DEFAULT NULL,
   PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1$$

这是我试图导入到session_hdr表的数据:

0X10004299300,1,7,1324542626.182691780,0.0,1324542627.76399180,1,3
0X1000429BF00,1,7,1324542656.188777040,0.0,1324542657.136454760,1,3
0X1000429CB00,1,7,1324542663.269024060,0.0,1324542663.292035400,1,3
0X1000429F200,1,7,1324542686.177864720,0.0,1324542687.45881600,1,3
0X100042A4000,1,7,1324542716.178234960,0.0,1324542717.645671220,1,3
0X100042A6800,1,7,1324542746.173958660,0.0,1324542747.66159900,1,3
....

我要导入的命令是:

mysqlimport --ignore-lines=1 -c id,type,session_start_time,session_end_time,session_last_update_time,session_flag,version databaseName1 session_hdr.csv

当我执行命令时,我收到以下消息:

mysqlimport: Error: 1265, Data truncated for column 'id' at row 1, when using table: session_hdr

有人知道为什么上面的命令会抛出这个错误吗?

在您的数据中,第一列的值不符合int类型,它只能包含数字。在导入之前,您需要将值从十六进制转换为整型。

最新更新