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

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

Susan Sarandon
リリース: 2024-12-22 16:19:10
オリジナル
206 人が閲覧しました

Why Does LAST_INSERT_ID() Return 0 in MySQL?

MySQL で 0 を返す LAST_INSERT_ID() のトラブルシューティング

LAST_INSERT_ID() を使用して最後に挿入された行の ID を取得しようとすると、ユーザーは、一貫して 0 を返すという複雑な問題に遭遇します。これは、 NULL、0 の指定、ID 値の省略など、さまざまな方法を使用して行を挿入します。

原因と解決策

この問題は、MySQL の PHP 構成設定が原因で発生することがよくあります。 PersistentConnections は FALSE に設定されます。 PersistentConnections が無効になっている場合、クエリごとに新しい接続が確立され、毎回一意の CONNECTION_ID が生成されます。その結果、LAST_INSERT_ID() 関数は複数の接続にわたる挿入操作を追跡できず、0 を返します。

この問題を解決するには、MySQL の PHP 構成ファイルで PersistentConnections 設定を調べ、それが TRUE に設定されていることを確認します。これにより、MySQL は永続的な接続を維持できるようになり、複数のクエリにわたって CONNECTION_ID を保持し、LAST_INSERT_ID() が最新の ID を正確に取得できるようになります。

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

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