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のは」、テーブルの名前を参照するだけでなく、二重引用符を使用します。