一步步来分析错误代码的生成原因,大家要有耐心哦。
第一步,错误描述
1
2
3
4
5
6
7
8
9
10
|
1 queries executed, 0 success, 1 errors, 0 warnings
查询: insert into emp values (11, \'h\' ,23, \'女\' )
错误代码: 1100
Table \'t_depart_info\' was not locked with LOCK TABLES
执行耗时 : 0 sec
传送时间 : 0 sec
总耗时 : 0 sec
|
第二步,错误原因
将emp数据库表READ锁定:LOCK TABLE emp READ;
在向emp插入数据,并调用触发器insert_data
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
DELIMITER $$
USE `test`$$
DROP TRIGGER /*!50032 IF EXISTS */ `insert_data`$$
CREATE
/*!50017 DEFINER = \'root\' @ \'localhost\' */
TRIGGER `insert_data` BEFORE INSERT ON `emp`
FOR EACH ROW BEGIN
INSERT INTO t_depart_info(id,depart_name,depart_teacher) VALUES (7, \'hai\' , \'hugang\' );
END ;
$$
DELIMITER ;
|
第三步,解决办法(很简单)
释放锁 UNLOCK TABLES;
其实在遇到错误代码的时候,大家就按照上面这三步走,问题一定会迎刃而解的,要善于发现问题并解决问题。