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

外部キーの依存関係を含む複数のテーブルにデータを挿入する方法(MySQL)

    つまり、トランザクション> (これに関するその他のドキュメント) 挿入物が不可分操作 になるようにします 。これは、すべてのデータが挿入される(または挿入されない)ことを保証する唯一の方法です。そうしないと、一部の挿入と他の挿入が完了できなくなった後にデータベースが使用できなくなるという説明の状況に陥る可能性があります。トランザクションは、データベースに、実行していることがオールオアナッシングであることを通知するため、問題が発生した場合はロールバックする必要があります。

    合成主キーを使用している場合、PHPやその他の言語は、最後に挿入されたIDを取得するためのメカニズムを提供します。完全にMySQLで実行したい場合は、 LAST_INSERT_ID() 関数。最終的には次のようなコードになります:

    START TRANSACTION;
    INSERT INTO foo (auto,text)
        VALUES(NULL,'text');         # generate ID by inserting NULL
    INSERT INTO foo2 (id,text)
        VALUES(LAST_INSERT_ID(),'text');  # use ID in second table
    COMMIT;
    



    1. NetBeans 9.0、パート4のJava9でJShellを使用する

    2. SQLServer2000-リンクサーバー

    3. Select-Statementsを使用してMYSQLテーブルに値を挿入する方法

    4. MySQLへの条件付き挿入-存在しない場所