-3

私はそれが減価償却されており、一般的に良い習慣ではないことを知っています。しかし、このコマンド: mysql_insert_idは何らかの理由でこの奇妙な番号を返しています。そして、それは今までになかった。

この番号への参照はどこにも見つかりません。たとえば、レコードをid:2 に挿入したところ、1587 という数値が得られました。

それはどこから得ているのですか?

IDを取得するために、データベースから引き出した正確な値でデータベースを逆クエリする必要がありました。しかし、これは意味がありません。

編集 これについて説明しなかった場合は申し訳ありません。しかし、これは単なる標準の挿入ステートメントです。

INSERT INTO `job` (`subject`,`deadline`,`status`) VALUES ('$title','3454354','CREATED');

自動インクリメントは、「id」と呼ばれる PK にあります。

フィールドidは に設定されますが、奇数2が返されます。mysql_insert_idテーブル ステータスを実行したところ、auto_increment が期待どおりであることが示されました。今回は他に何も入れていません。文字通り、挿入した直後に、最後に挿入された ID を照会しています。

4

2 に答える 2

0

AUTOINCREMENT挿入前と挿入後に列をチェック

SHOW TABLE STATUS FROM `db_name` WHERE NAME='col_name';

編集:開始番号が大きい場合は、「テーブルの作成」で確認できます。

多分あなたはこのテーブルにトリガーを持っていますか?

于 2013-07-19T12:03:57.367 に答える