2011-07-25 17 views
0

私はユーザーテーブルの新しい行が作成されたときに、新しい行もプロファイルテーブルに作成され、ユーザーテーブルの主キーが外部キーに挿入されるようにトリガーを設定しようとしていますプロファイルテーブルのスロット。これは私が現時点で使用しているコードであり、うまく機能していません。MySQLのトリガーの問題

CREATE TRIGGER userID 
AFTER INSERT ON user FOR EACH ROW 
BEGIN 
    INSERT INTO profile (userID) 
    VALUES(user.userID); 
END 

プロファイルテーブルとユーザーテーブルの主に外部キーは、両方のuser.userIDは、その文脈で有用では何も意味しないと言っユーザーID

+1

"うまくいきませんでした。 - それは十分ではありません.... –

答えて

1

と呼ばれ、あなたが使用して、新しく作成された行を参照したいですNEWfine manualから

CREATE TRIGGER userID 
AFTER INSERT ON user FOR EACH ROW 
BEGIN 
    INSERT INTO profile (userID) 
    VALUES(NEW.userID); 
END 

別名OLDNEWを使用して、件名テーブルのカラム(トリガに関連付けられたテーブル)を参照できます。 [...] NEW.col_nameは、挿入する新しい行の列または更新後の既存の行を参照します。