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

新しい自動インクリメントIDで更新列を挿入する前のMySQLトリガー

    AUTO_INCREMENT 列はにのみ設定されます 入れる。

    アクセスする必要がある場合 その値の場合、AFTER INSERTでのみ使用できます 引き金。ただし、変更することはできません AFTER UPDATEの列の値 トリガー...

    また、AFTER INSERTで使用されているテーブルを更新することはできません。 ( http://dev.mysqlとしてトリガーします。 com / doc / refman / 5.0 / en / Stored-program-restrictions.html ):

    ここでの唯一の合理的な解決策は、テーブルを更新するストアドプロシージャを作成し、トランザクション内の関連する列を調整して、アトミック挿入ステートメントを「エミュレート」することです。

    そうは言っても、あなたの特定のケースではkey その列は同じ行の他の2つの列を連結したものであるため、列は冗長です。

    その名前から、代わりに複合キーを作成する方法を探していませんか?そのようなもの:

    ALTER TABLE tbl ADD UNIQUE KEY (countryCode, id);
    



    1. MySQLとは:概要

    2. CSVファイルをSQLServerにインポートします

    3. SQLiteデータベースのビューを一覧表示する4つの方法

    4. codeignitermysql左結合インクルード選択