1. 文を使用する:
コードをコピーします コードは次のとおりです:
mysql_query("select max(id) from t1",$link);
このメソッドを使用して取得するのは最大の ID 値であり、実際には最後の値になります。ただし、リンク スレッドが複数ある場合、この最大の ID は挿入するデータの自動インクリメント ID 値であるとは限りません。マルチスレッドに適しています。
2 番目に、関数 msyql_insert_id();
を使用します。
PHP では、データベースに挿入された ID 値を取得する必要があることが多く、まさにそのような関数があります:
コードをコピーします コードは次のとおりです:
//データベースに挿入されたステートメントを実行します
//……
$getID=mysql_insert_id();//$getID は最後のレコードの ID です
//この関数を使用するための条件:
//1. フィールド名が RecordID であると仮定します
//2. フィールド属性は auto_increment
に設定する必要があります。
//3. データを追加してから使用します
//$newID = mysql_insert_id();
//ID値を取得します
?>
PHP 関数 mysql_insert_id() は、最後の INSERT クエリが実行された後、AUTO_INCREMENT によって定義されたフィールドの値を返します。
システムが INSERT を実行してから SELECT を実行すると、そのデータが別のバックエンド サーバーに分散される可能性があります。PHP プログラミングを使用している場合は、実際には、各 INSERT が終了した後に、mysql_insert_id() を使用して、挿入された ID を取得する必要があります。対応する自動インクリメント値が計算され、PHP に返されます。別のクエリを発行する必要はなく、mysql_insert_id() を使用するだけです。
ステートメントが挿入されると、最後の ID (mysql 自動インクリメント値) が自動的に返されます。
また、この関数は現在のリンクに対してのみ有効です。つまり、マルチユーザーに対して安全です。
この機能を使用することをお勧めします。
問題: ID のタイプが bigint の場合、機能しなくなります。
3. クエリを使用する
コードをコピー コードは次のとおりです:
msyql_query("select last_insert_id()");
last_insert_id() は mysql の関数であり、現在のリンクにも有効です
この使用法により、mysql_insert_id () で発生した bigint 型の問題が解決されます
概要:
特別な状況では、方法 2 を使用することをお勧めします。
http://www.bkjia.com/PHPjc/824827.htmlwww.bkjia.com本当http://www.bkjia.com/PHPjc/824827.html技術記事 1. ステートメントを使用します。次のようにコードをコピーします。 mysql_query("select max(id) from t1",$link); このメソッドを使用すると、実際には最後の値である id の最大値が取得されますが、複数の場合は、スレッドをリンク... .