-2

我试图将以下 sql 命令上传到 php myadmin。但是,我犯了一些有趣的错误。我试图解决它,但即使我仔细考虑,我也找不到错误出现的原因。

错误 :

MySQL said: Documentation
#1064 - 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 'ON car_model
FOR INSERT
AS
    declare @car_name VARCHAR(255)' at line 2 

SQL:

CREATE TRIGGER TRG_Update 
ON car_model
FOR INSERT
AS
        DECLARE @car_name VARCHAR(255);
        DECLARE @manufacturer_year VARCHAR(255);
        DECLARE @car_type  VARCHAR(255);

        SELECT @car_name = i.car_name FROM inserted i;
        SELECT @manufacturer_year = i.manufacturer_year FROM inserted i;
        SELECT @car_type  = i.car_type FROM inserted i;

        INSERT INTO features 
                (car_name, manufacturer_year, car_type)
        VALUES (@car_name, @manufacturer_year, @car_type);
GO
4

2 回答 2

1

您正在使用SQL Server Trigger语法。这是为了MySQL

DELIMITER $$
CREATE TRIGGER TRG_Update 
AFTER INSERT ON car_model
FOR EACH ROW
BEGIN
        INSERT INTO features (car_name, manufacturer_year, car_type)
        VALUES (NEW.car_name, NEW.manufacturer_year, NEW.car_type);
END $$
DELIMITER ;
于 2013-03-24T11:04:07.980 回答
0

触发器应该是这样的

   TRIGGER TRG_Update BEFORE/AFTER INSERT/UPDATE/DELETE

你可以看到如何在 MySQL 中创建触发器

于 2013-03-24T10:59:46.857 回答