我是新手, 今天创建delete触发器时发生了错误, 详情如下: /*==============================================================*/
/* Table: category */
/*==============================================================*/
create table category
(
cateid smallint not null,
catename varchar(30) not null,
pcateid smallint not null,
primary key (cateid)
);下面是创建delete触发器
create trigger catedelete before delete on category
for each row
begin
delete from category where pcateid=OLD.cateid;
end;但是MySQL提示下面的语法错误:
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 4这是怎么回事, 求各位大牛解答啊, 感激不尽.MySQLdelete触发器
/* Table: category */
/*==============================================================*/
create table category
(
cateid smallint not null,
catename varchar(30) not null,
pcateid smallint not null,
primary key (cateid)
);下面是创建delete触发器
create trigger catedelete before delete on category
for each row
begin
delete from category where pcateid=OLD.cateid;
end;但是MySQL提示下面的语法错误:
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 4这是怎么回事, 求各位大牛解答啊, 感激不尽.MySQLdelete触发器
解决方案 »
- 如何使这个表查询变快?
- 一个小小的问题
- 求一种快速的方法......
- 最近几天做测试,向表中插入了几十万的数据,删除这些数据后数据库ibdata1仍然有几百兆,怎样压缩空间?
- 在C++里怎样锁定MySql表里的记录?
- [求解]Postgresql下select語法實現
- (急) 这样的统计怎样写sql?
- 请问, 怎么查看MYSQL 当前的连接数目?
- 一个在sql server 中很简单的问题,怎么在mysql数据库中直接插入一条记录呀?
- 更新mysql数据库爆重复数据问题,但是我根本没有这个重复问题,请高人看看
- 有没有c++使用api接口操作mysql的书籍
- mysql中导入文本文件中的数据,其中汉字变成了问号
DELIMITER $$
CREATE TRIGGER catedelete BEFORE DELETE ON category
FOR EACH ROW
BEGIN
DELETE FROM category WHERE pcateid=OLD.cateid;
END$$
DELIMITER ;
for each row
delete from category where pcateid=OLD.cateid;另外注意这个语句语法上没问题了,但是仍然错误。 MYSQL不允许在本表的触发器对本表进行操作以防递归触发。
你说得对, 虽然语法对了, 但删除时会弹出以下错误:
Error deleting:Can't update table 'category' in stored function/trigger because it is already used by statement which invoked this stored function/trigger.
谢谢你, 我要结我的处女贴了.
你说得对, 刚才我试了一下, 果然出现下面的错误:
Error deleting:Can't update table 'category' in stored function/trigger because it is already used by statement which invoked this stored function/trigger.
学习了, 我得把表改一下, 谢谢版主!