0

テーブルのコンテンツを別のテーブルにアーカイブし、元のテーブルの元の行を削除するデュアル MySQL クエリを作成しようとしています。

他の領域では基本クエリが正常に機能しています。以下のクエリは、2 番目のテーブルに依存して、アーカイブおよび削除する必要がある行を選択するのに役立ちます。

最初のクエリのネストされた選択に AS が表示され、削除クエリの AS の近くに構文エラーが発生します。

私は調査し、調査し、さまざまなコードの組み合わせを試しましたが、クエリを機能させることができません。クエリは PDO を使用して PHP で記述されているため、PDO タグは無視してください。問題はありません。

INSERT INTO usetwca (r_id, c_id, o_id, t_id, s_id, ip_address, timestamp, timestamp_archived) SELECT :r_id, usetwc.c_id, usetwc.o_id, usetwc.t_id, usetwc.s_id, usetwc.ip_address, usetwc.timestamp, :timestamp FROM usetwc JOIN useo ON useo.o_id = usetwc.o_id AND useo.best_fit IS NULL WHERE usetwc.user_id = :user_id;

DELETE FROM usetwc JOIN useo ON useo.o_id = usetwc.o_id AND useo.best_fit IS NULL WHERE usetwc.user_id = :user_id;
4

2 に答える 2

1

BEFORE DELETEこれを「users_sessions_exercise_t_ws_correlation」テーブルのトリガーとして実装する必要があります。

良い例として、この回答を見てください。

これは、ロギングのトリガーの使用に関する優れた一般的なリファレンスです。

于 2013-08-22T18:56:38.630 に答える