ホームページ > バックエンド開発 > PHPチュートリアル > MYSQL のヒント -- LAST_INSERT_ID

MYSQL のヒント -- LAST_INSERT_ID

WBOY
リリース: 2016-07-29 08:41:18
オリジナル
1108 人が閲覧しました

実際、この 2 つは違いがあり、LAST_INSERT_ID() は bigint 値の ID を返すことができます。ただし、mysql_insert_id は int を返します。 ID が unsigned int または bigint の場合。したがって、返されたものは間違っている可能性があります。代わりに LAST_INSERT_ID() を使用してください。
一部の友人は 0 を返します。実際、LAST_INSERT_ID() は AUTO_INCREMENT の ID を返します。
テーブル構造にAUTO_INCREMENTが設定されていない場合は返却できません。
まだ 0 を返す人もいます。その場合は、挿入遅延関数が使用されているかどうかを確認する必要があります。この場合、即時戻り ID 値は返されません。
多くの人は、この last_insert_id を置き換えるために select max(id)... を使用することを好みます。実際、select max(id) はスレッドセーフではありません。他のスレッドが新しいデータを挿入すると、それができない可能性が高くなります。最後に挿入された ID を見つけます。そして、last_insert_id は mysql 接続に対応します。つまり、現在のスレッドに対応し、他のスレッドによって干渉されません。データベースにおかしなエラーが発生した場合、例えばデータAの情報が更新されるはずが、その結果データBが更新されてしまい、それが正しい場合もあれば、間違っている場合もあり、非常に不快になります。正しい人がたくさんいます。 select max(id) が使用されているかどうかを確認してください。
上記では、関連するコンテンツを含む MYSQL のヒント - LAST_INSERT_ID を紹介しましたが、PHP チュートリアルに興味のある友人に役立つことを願っています。


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