2017-10-14 22 views
0

enter image description here PhpMyAdminを使用して000webhostによってホストされているMySqlデータベースで気になります。 私のDBは今のところ非常に簡単です。私は2つのテーブルaccountslvl_timeが関係(accountsid - >user_idlvl_times)で接続されています。私はaccountsに新しいフィールドを作成するたびにlvl_timesに行を作成する必要があります。 lvl_timesの新しいフィールドには、新しく作成されたアカウントと同じuser_idが必要です。SQLトリガー "AFTER INSERT ON"は機能していないだけでなく、メインの挿入を中止します

"AFTER INSERT ON"トリガーのバージョンのクーペを使用しようとしました。だけでなく、動作していないだけでなく、トリガーは、メイン挿入を停止し、新しいアカウントは何らかの形で挿入後にdelated。 exapleについては 私はこのトリガーを試してみました:

CREATE TRIGGER createEmptylvlfields 
     AFTER INSERT ON accounts 
     FOR EACH ROW 
      INSERT INTO lvl_times (user_id) SELECT id FROM inserted 

私は画像

としての私の単純なデシベルのスキームを添付

+1

これは私にとってMySQLコードのようには見えません。 –

+0

ええ、申し訳ありませんが、私はdespredを得て、おそらくSQLServerにあった別のポストをいくつかのソリューションフォームを使用しました。 – osek

答えて

3

あなたのトリガーがあるべき助けてください:

CREATE TRIGGER createEmptylvlfields 
    AFTER INSERT ON accounts 
    FOR EACH ROW 
     INSERT INTO lvl_times (user_id) 
      VALUES (NEW.id); 

そして、はい、トリガーが失敗すると、挿入がロールバックされます。

+0

私はあなたのトリガーに#1064構文エラーを取得:/ "近い 'NEW.id)' 行5で、" 私はlvl_times SETのuser_id = NEW.id INTO INSERTにあなたのソリューションを変更し、それが働いOK – osek

+0

、感謝 – osek

+0

申し訳ありませんが私の小さな間違い。私はVALUESという言葉を忘れています。私はそれを修正させてください。 –

関連する問題