delimiter //
create definer = 'root@localhost'
trigger au_reassign_ticket
after
update
on technician
for each row
begin
if new.available = 0 then
update tickets set technician_id=0 where technician_id=new.id;
end if;
end;//
为什么提示:Error Code: 1465. Triggers can not be created on system tables

解决方案 »

  1.   

    是不是不具备创建表的权限。
    GRANT SELECT ON ...
      

  2.   

    USE 数据库名  没有?
    登录用户的权限是什么?
      

  3.   

    估计是是在默认数据库mysql下建立TRIGGER的
    USE 你的数据库名
      

  4.   

    show create table technician;贴出以供分析。
      

  5.   

    technician CREATE TABLE `technician` (
       `id` int(11) NOT NULL AUTO_INCREMENT,
       `name` varchar(10) NOT NULL,
       `email` varchar(20) NOT NULL,
       `available` smallint(1) NOT NULL,
       PRIMARY KEY (`id`)
     ) ENGINE=MyISAM AUTO_INCREMENT=4 DEFAULT CHARSET=latin1
      

  6.   


    有用use啊GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' IDENTIFIED BY PASSWORD '*DD960F319577E908E4E621F2E9F42C12A68BE5C2' WITH GRANT OPTION
    GRANT PROXY ON ''@'' TO 'root'@'localhost' WITH GRANT OPTION