ホームページ > データベース > mysql チュートリアル > MySQL で「LAST_INSERT_ID()」が 0 を返すのはなぜですか?

MySQL で「LAST_INSERT_ID()」が 0 を返すのはなぜですか?

Susan Sarandon
リリース: 2025-01-02 12:49:40
オリジナル
813 人が閲覧しました

Why Does `LAST_INSERT_ID()` Return 0 in MySQL?

LAST_INSERT_ID() が MySQL で一貫して 0 を返す

問題の概要:

一般的な方法を使用した MySQL テーブルへのデータの挿入(NULL、0、または空の括弧の挿入など)その後、最後に挿入された ID (LAST_INSERT_ID()) をクエリすると、一貫して 0 が返されます。この問題は、PHP の mysql_insert_id と PDO::lastInsertId() の両方に影響します。

解決策:

問題は、MySQL phpmyadmin 構成ファイルにあります。 PersistentConnections が FALSE に設定されている場合、クエリごとに新しい CONNECTION_ID が確立されます。これにより、LAST_INSERT_ID() の結果が以前の接続に関連付けられているため無効になります。

この問題を解決するには、phpmyadmin 構成ファイルで PersistentConnections を TRUE に設定します。これにより、複数のクエリ間で同じ接続が維持され、LAST_INSERT_ID() が最後に挿入された ID を正確に返すことができるようになります。

追加情報:

詳細については、 PersistentConnections の影響については、トピック「すべてのクエリが新しいクエリを作成する」を参照してください。 CONNECTION_ID()".

謝辞:

この問題の特定に貴重な支援をしていただいた dnagirl に感謝します。

以上がMySQL で「LAST_INSERT_ID()」が 0 を返すのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート