これまでデータベースをあまり扱ったことがありませんが、基本的なことは少し理解しています。現在、2 つのテーブルがあります。テーブル 1 とテーブル 2 と呼びます。データをテーブル 1 に挿入すると、トリガーを起動して、col1 のすべての個別の値を取得するトリガーを作成しようとしています。表 1 を使用して、表 2 に挿入します。表 1 にデータが追加されると、間違いなく重複が発生します。重複が発生した場合、テーブル 2 に重複を挿入したくありません。そのため、Union を使用して一意の値を取得し、それらを Table 2 に挿入できると考えましたが、Union の後で何が起こるか完全にはわかりません。する。私はこのように考えることに夢中で、これをより良くする方法はありますか?
DELIMITER //
CREATE TRIGGER testdb
AFTER INSERT ON testdb.table1
FOR EACH ROW
BEGIN
SELECT col1 FROM table1
UNION
SELECT col1 FROM table2
(I imagine the insert statement would go here)
END //
DELIMITER ;
つまり、データは表 1 に入り、挿入時にトリガーが起動して、すべての一意の値を取得しようとして、表 1 の列 1 と表 2 の列 1 から一意の値を取得します。次に、一意の値を表 2 の列 1 に挿入します。 、ただし、これらの一意の値の一部は既に存在している可能性があります。