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

MySQL の LAST_INSERT_ID() がゼロを返すのはなぜですか?

Susan Sarandon
リリース: 2024-12-21 16:53:11
オリジナル
444 人が閲覧しました

Why Does MySQL's LAST_INSERT_ID() Return Zero?

MySQL: LAST_INSERT_ID() はゼロを返します

テーブルにデータを挿入した後、LAST_INSERT_ID() を使用して最後に挿入された ID を取得しようとすると、ユーザーは、関数が 0 を返すという永続的な問題に遭遇する可能性があります。これは、代替挿入を使用している場合でも発生する可能性があります。 NULL や 0 の挿入、値全体の省略などの構文。

調査と解決策:

この問題の主な原因は、多くの場合、phpmyadmin 構成内の MySQL の PersistentConnections 設定にあります。 。この設定が FALSE に設定されている場合、クエリごとに新しい接続が確立され、接続コンテキストが事実上リセットされます。

この特定のインスタンスでは、問題は phpmyadmin 設定の PersistentConnections フラグが FALSE に設定されていることが原因で発生しました。各クエリによって新しい接続が開始され、その結果、新しい CONNECTION_ID が生成されます。その結果、最後に挿入された ID を取得するために接続コンテキストに依存するため、LAST_INSERT_ID() は無効になりました。

結論:

phpmyadmin で PersistentConnections を TRUE に設定することで、構成ファイルを使用すると、接続の永続性の問題を解決できます。これにより、接続コンテキストが複数のクエリにわたって維持されるため、LAST_INSERT_ID() 関数が最後に挿入された ID を正しく取得できるようになります。

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

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