MySQL で新しく作成されたレコードの ID を決定する
データベースを操作する場合、多くの場合、新しく作成されたレコードに割り当てられた一意の識別子を取得する必要があります。 。 SQL Server では、SCOPE_IDENTITY() 関数がこの目的を果たします。ただし、MySQL を使用している場合、その機能は異なります。
MySQL での同等性: LAST_INSERT_ID()
SCOPE_IDENTITY() に相当する MySQL は LAST_INSERT_ID() です。関数。データベースによって生成された最後の自動インクリメント値の ID を取得します。
使用例
CREATE TABLE Product ( ProductID INT AUTO_INCREMENT PRIMARY KEY ); INSERT INTO Product (Name) VALUES ('New Product'); # Get the ID of the newly created record SELECT LAST_INSERT_ID();
このクエリは、新しく挿入されたレコードの ProductID を返します。
トリガーによる挿入に関する注意
次の点に注意してください。 LAST_INSERT_ID() は、現在のセッションまたはトランザクション内で生成された最後の自動インクリメントの ID を返します。追加の挿入を実行する挿入トリガーの場合、LAST_INSERT_ID() は、トリガー中に挿入されたテーブルではなく、元のテーブルの ID を返します。
結論
SQL Server の機能に相当する MySQL を理解することは、クロスプラットフォームのデータベース アプリケーションを効果的に操作するために重要です。 LAST_INSERT_ID() を利用すると、MySQL 内で新しく作成されたレコードの ID を取得できます。
免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。
Copyright© 2022 湘ICP备2022001581号-3