MySQLのクエリデータテーブルAUTO_INCREMENT(インクリメントID)

1.一般データテーブルIDはAUTO_INCREMENTに設定されているので、レコードが挿入されたときに、次のコマンドは、新たに挿入されたレコードIDの値を取得するために使用することができます

LAST_INSERT_ID選択();

  

   注:1が選択LAST_INSERT_ID(の使用に続いてInsert文を、使用した後でなければなりませんが)Insert文を使用しなかった場合にのみ有効で、クエリの結果は、0を返します;.

            同じINSERT文で複数のレコードを挿入2.した場合、その結果は、次のような、最初のレコードIDに返されます

school.student挿入
(名前、年齢)の値
(S1 ''、18)、 'S2'、18)、
(S3 ''、28)、 'S4'、19)、 'S5'、18) ;

  

   結果は、ID S1に戻ります。

2.なぜ、tableNameの中から選択MAX(id)を使用していません。

    、手動で最新のデータを削除した場合、クエリの結果が現在の最大の残りのデータレコードであるMAX(id)を使用しますので、

    新しいデータは必ずしもカウントを開始しません。この図から挿入されています

3.したがって、次のインサートIDの正確な記録を得るために、そのクエリは次のように、対応するSQL文は、AUTO_INCREMENTあります。

INFORMATION_SCHEMA.TABLES TABLE_SCHEMA = "DBNAME" とテーブル名= "tableNameの" FROM SELECT AUTO_INCREMENT。

  

  注:AUTO_INCREMENTのお問い合わせは、ここ `NAME` =「tableNameの」テーブルの状態を示すので、フィールドに相当することができます。 

                   AUTO_INCREMENT代わりに最大電流値Idの次のレコードが挿入されたID値を返します

     書き込むようINFORMATION_SCHEMA.TABLES、

     TABLE_SCHEMA =「dbnameは」、データベースの名前を指し、あなたは二重引用符を使用することに注意してください

       TABLE_NAME =「tableNameのは」、テーブルの名前を参照するだけでなく、二重引用符を使用します。

おすすめ

転載: www.cnblogs.com/guohu/p/10984278.html