あるテーブルから別のテーブルに行を挿入するトリガーを作成しようとすると、構文エラーが発生します...プロセスの日付と時刻を更新します。これが私の質問です:
INSERT INTO `second_table` (field1, field2, field3, field4, field5, field6, field7, field8, field9, field10, field11, field12)
(SELECT `field1`, `field2`, `field3`, `field4`, `field5`, `field6`, `field7`, `field8`, `field9` FROM `first_table` WHERE `field1` = NEW.`field1`), CURDATE(), NOW(), (SELECT `field12` FROM `second_table` WHERE `field1` = NEW.`field1`);
このトリガーは、first_table
が更新されたときに実行されます。これがタスクを実行する正しい方法であるかどうかはわかりません。簡単にするために、フィールド名とテーブル名を一般化しました。
編集:
列は2つのテーブル間で同一です。トリガーが発生した日時を更新できるようにしたいだけです。これは機能しますが、明らかに前の日付と時刻をコピーするだけです。
INSERT INTO `second_table` (SELECT * FROM `first_table` WHERE `field1` = NEW.`field1`);