我写了个这样的触发器.顺便说下,表ntt里有no,no_no,ct这3个字段,no字段是个auto_increment列
CREATE TRIGGER ntt_ct BEFORE INSERT
ON ntt FOR EACH ROW BEGIN
UPDATE ntt SET ct=1 WHERE no=NEW.no_no;
END
那个替换;用的DELIMITER |我当然也加了但现在我如果执行INSERT语句,就会出如下错误
Can't update table 'ntt' in stored function/trigger because it is already used by statement which invoked this stored function/trigger这是怎么回事
CREATE TRIGGER ntt_ct BEFORE INSERT
ON ntt FOR EACH ROW BEGIN
UPDATE ntt SET ct=1 WHERE no=NEW.no_no;
END
那个替换;用的DELIMITER |我当然也加了但现在我如果执行INSERT语句,就会出如下错误
Can't update table 'ntt' in stored function/trigger because it is already used by statement which invoked this stored function/trigger这是怎么回事
解决方案 »
- 我的一个MySql数据库,每天数据库日志文件太大了,17G,能不能设置为不记录日志文件
- 我的mysql版本是5.1.57.log,为什么没有innodb_status_file这个参数
- mysql 有关金额的问题
- 修改host权限
- 如何查询发布了十天后的产品信息?
- 用mysql query browser打开*.sql文件,为何不能正常显示中文呢?而且也不能输入中文,输入后也是乱码,有图
- 关于数据库查询优化问题SQL语句优化
- mysql 每天5W条数据增量,如何优化
- 往数据库text类型字段 加数据出现问题com.mysql.jdbc.exceptions.MySQLSyntaxErrorException:
- mysql_errno
- 如何插入空值?
- mysql书写格式的区别(15分)
UPDATE ON ntt FOR EACH ROW
declare
stmt varchar2(500);
begin
stmt :=' UPDATE ntt SET ct=1 WHERE no=NEW.no_no; '
/
UPDATE ON ntt FOR EACH ROW
declare
stmt varchar2(500);
begin
stmt :=' UPDATE ntt SET ct=1 WHERE no=NEW.no_no; '
end
/