-2

次のSQLコマンドをphpmyadminにアップロードしようとしました。しかし、私はいくつかの興味深い誤りを犯しました。解決しようとしましたが、よく考えてもエラーが発生する理由がわかりませんでした。

エラー :

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 に答える