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

PHPMySQLが複数のテーブルにデータを挿入する

    解決策は、トランザクション を使用することです。 、「オールオアナッシング」の動作を可能にします。

    アイデアは次のとおりです:

    • トランザクションを開始します
    • 挿入/更新を行います
    • すべてがOKの場合、トランザクションをコミットします;これにより、このトランザクション中に行ったすべてのことが保存されます
    • そうでない場合は、トランザクションをロールバックします;そして、その中で行ったすべてがキャンセルされます。
    • コミットして切断しない場合(たとえば、PHPスクリプトが停止した場合) 、何もコミットされず、コミットされていないトランザクション中に行ったことは自動的にロールバックされます。

    詳細については、12.4.1を参照してください。 START TRANSACTION、COMMIT、およびROLLBACK構文 、MySQLの場合。


    トランザクションは一部のDBエンジンでのみ利用可能であることに注意してください:

    • MyISAM トランザクションをサポートしていません
    • InnoDB (たとえば、外部キーもサポートします。MyISAMよりもはるかに高度です)



    1. MySQL ORDER BY rand()、名前ASC

    2. 照合の競合を解決できません

    3. MariaDBでのRPAD()のしくみ

    4. テーブルから最初のデータのみをクエリします