sql >> データベース >  >> RDS >> Mysql

最後の挿入IDを取得すると、間違った番号が表示されます

    last_insert_id() 特定のテーブルとは関係ありません。同じ接続で、すべてのテーブルが同じものを共有します。

    以下はそのデモです。

    デモ:

    mysql> create table t1(c1 int primary key auto_increment);
    Query OK, 0 rows affected (0.11 sec)
    
    mysql> create table t2(c1 int primary key auto_increment);
    Query OK, 0 rows affected (0.06 sec)
    
    mysql> insert into t1 values(null);
    Query OK, 1 row affected (0.01 sec)
    
    mysql> insert into t2 values(4);
    Query OK, 1 row affected (0.00 sec)
    
    mysql> insert into t2 values(null);
    Query OK, 1 row affected (0.02 sec)
    
    mysql> select last_insert_id() from t1;
    +------------------+
    | last_insert_id() |
    +------------------+
    |                5 |
    +------------------+
    1 row in set (0.00 sec)
    


    1. 2つ以上のフィールドからの最大値

    2. swi prolog mysql + web

    3. mysql_num_rows():指定された引数は有効なMySQL結果リソースではありません

    4. MySqlクエリを使用して完全に一致する単語を検索する方法