2

新しい行を 2 つの異なるテーブルに挿入するトリガーを作成しようとしています (これは私の最初のトリガーであり、質問なので、慎重に)。

* 編集 *

ypercubeが答えるまで言及するのを忘れていたので、これを追加します。実際の使用では、これが使用されるテーブルには非常に多くの列があるため、すべての列名をリストすることを避けようとしています (私の設計ではなく、リファクタリングするには遅すぎます)。

*編集終了*

これが私がこれまでに持っているものです。

CREATE TABLE test_table (
    id INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,
    message VARCHAR(255)
);

CREATE TABLE test_table_copy LIKE test_table;

DELIMITER $$

CREATE TRIGGER copy_test_table_data AFTER INSERT ON test_table
FOR EACH ROW
BEGIN
    INSERT INTO test_table_copy SELECT * FROM NEW;
END;$$

DELIMITER ;

残念ながら、これはエラーになります。

mysql> INSERT INTO test_table VALUES (1, 'This is a message');
ERROR 1146 (4502): Table 'test_db.NEW' doesn't exist

何が問題なのかよくわかりませんが、テーブルデータが挿入されているとNEWが参照していると思いましたか?

4

1 に答える 1