sql >> データベース >  >> RDS >> Mysql

MySQL-挿入後に同じテーブルを更新するためのトリガー

    トリガーでこれをすべて行うことはできないようです。 ドキュメント によると :

    ストアド関数またはトリガー内で、関数またはトリガーを呼び出したステートメントによって(読み取りまたは書き込みのために)すでに使用されているテーブルを変更することは許可されていません。

    この回答 、次のようにする必要があります:

    ターゲットテーブルに挿入/更新してから、他の行をすべてトランザクションで更新するストアドプロシージャを作成します。

    ストアドプロシージャを使用して、変更を手動でコミットします(挿入と更新)。 MySQLでこれを行ったことはありませんが、この投稿 良い例のようです。



    1. STRING_AGGでDISTINCT値を生成します

    2. 2つのテーブル間の差異を返すSQLクエリ

    3. HibernateはMySQLのONDUPLICATEKEY UPDATE構文で動作しますか?

    4. SQLDeveloper4.1.3がリリースされました