MYSQL数据库 导入后,不能插入数据解决方法

MYSQL数据库 导入后,不能插入数据

感谢大家百忙阅读,节约时间,直接主题

问题描述如下:

使用环境:MYSQL 5.0(WIN32)

我有一张已经创建的表EP_dt,创建如下:

create table if not exists ZT

(

id varchar(18) primary key,

name varchar(25),

gender enum(‘男’,’女’),

workid bigint unsigned not null unique auto_increment,

partno int unsigned not null,

birthday date default ‘0000-00-00’,

special enum(‘Y’,’N’) default ‘N’ not null,

optime datetime

)ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin;

插入以下记录几条

(以下s%是参数变量传递进来的,测试语句语法无误。)

insert into ZT (id,name,gender,workid,partno,birthday,special,Lbin,Rbin ,optime) values(‘%s’,’%s’,’%s’,  

workid, ‘%d’, ‘%s’,special,’%s’,’%s’,optime) ;

insert into ZT (id,name,gender,workid,partno,birthday,special,Lbin,Rbin ,optime) values(‘%s’,’%s’,’%s’,  

workid, ‘%d’, ‘%s’,special,’%s’,’%s’,optime) ;

insert into ZT (id,name,gender,workid,partno,birthday,special,Lbin,Rbin ,optime) values(‘%s’,’%s’,’%s’,  

workid, ‘%d’, ‘%s’,special,’%s’,’%s’,optime) ;

导出所有数据(三条记录),命名为ZT.txt,

我在另一个机器上导入现有数据

load data infile’C://ZT.txt,’ into table ZT;

提示成功导入三条记录。

此时,我再添加一条记录

(以下s%是参数变量传递进来的,测试语句语法无误。)

insert into ZT (id,name,gender,workid,partno,birthday,special,Lbin,Rbin ,optime) values(‘%s’,’%s’,’%s’,  

workid, ‘%d’, ‘%s’,special,’%s’,’%s’,optime) ;

却出现以下错误提示,不能导入,还请高手指导下,先谢谢了。

错误提示信息:

ERROR 1265 (01000): Data truncated for column ‘gender’ at row 1




gender 字段什么类型。长度多少。插入的值是什么?




gender enum(‘男’,’女’),

只能插入男或者女 不能插入别的



mysql> create table test6(a enum(‘a’,’b’));

Query OK, 0 rows affected (0.30 sec)

mysql> insert into test6 values(‘c’);

ERROR 1265 (01000): Data truncated for column ‘a’ at row 1

mysql> insert into test6 values(‘a’);

Query OK, 1 row affected (0.00 sec)




两个表创建语句是一样的么?照说默认enmu字段的如果插入非存在的预设值是为null,不会出现错误提示。

MYSQL数据库 导入后,不能插入数据解决方法

相关文章:

你感兴趣的文章:

标签云: