【发布时间】:2013-12-19 12:43:07
【问题描述】:
我正在尝试运行一个将数据插入到表中的存储过程。在表中,添加后有一个触发器会更新序列表(MySQL DB中没有序列)
这是我的存储过程:
DELIMITER $$
CREATE DEFINER=`dbName`@`%` PROCEDURE `insertGuide`(m_name varchar(45) ,m_last varchar(45) ,addres varchar(45) ,mphone int)
BEGIN
INSERT INTO `guides` (`id`, `name`, `lastName`, `address`, `phone`)
select max(id)+1, m_name, m_last, addres, mphone
from seq;
END
这是我的触发器:
USE `dbName`;
DELIMITER $$
CREATE DEFINER=`dbName`@`%` TRIGGER
guidesUpdate
AFTER INSERT ON
guides
FOR EACH ROW
BEGIN
INSERT INTO seq VALUES ();
END
当我跑步时
call insertGuide('a' ,'aa' ,'aaa' ,'12333')
它返回一个错误:
错误代码:1442。无法更新存储函数/触发器中的表 'seq' 因为它已被调用此存储的语句使用 函数/触发器。
我可以做点什么吗?
【问题讨论】:
标签: mysql sql stored-procedures triggers sequence