1、错误描述
1 queries executed, 0 success, 1 errors, 0 warnings
查询:insert into emp values(6,'胡迪',20,'男')
错误代码: 1366
Incorrect integer value: 'zhangsan' for column 'depart_teacher' at row 1
执行耗时 : 0 sec
传送时间 : 0 sec
总耗时 : 0 sec
2、错误原因
DELIMITER $$
CREATE
/*[DEFINER = { user | CURRENT_USER }]*/
TRIGGER `test`.`insert_data` BEFORE INSERT
ON `test`.`emp`
FOR EACH ROW BEGIN
INSERT INTO t_depart_info(id,depart_name,depart_teacher) VALUES(3,'you','zhangsan');
END$$
DELIMITER ;
INSERT INTO emp VALUES(6,'胡迪',20,'男');
触发器中插入的第三个记录的数据类型是int,但是插入的是varchar类型,导致报错
3、解决办法
(1)将t_depart_info表中的depart_teacher数据类型由int改为varchar
(2)触发器中插入depart_teacher由字符串改为整型
本文介绍了在使用数据库触发器时出现的类型不匹配错误,包括错误代码1366的具体原因及两种解决方法。
2090

被折叠的 条评论
为什么被折叠?



