0%

数据库大作业笔记(三)

数据库插入异常

mySql报错:

1
Column count doesn't match value count at row 1

网上给出的原因一致是:数据的个数、类型不符,或者就是中英文符号混用了。折腾了很久,终于发现是触发器导致了异常!!!

1
2
3
4
CREATE TRIGGER add_audit AFTER INSERT ON equipment
FOR EACH ROW BEGIN
insert into audit_equipment VALUES(new.eqpid,user(),now(),1);
END

怎么回事呢——改了audit_equipment表的属性,但忘了改equipment中的触发器,实际上是插入audit_equipment表时失败了,但是报错时就会显示equipment的插入失败。

在MySQL中CHECK约束是无效的

可以把对日期的约束写在yii中,也可以用触发器代替;