0

よろしくお願いします。

これが私の問題です:

表Aには、削除したスパムアカウントがありました。行は次のようになりました:1、2556、2559、2565、2595など。

同じデータベースの空のテーブルBにテーブルAをインポートしようとしています。テーブルにはさまざまなフィールドがあります。

表Bは、挿入が自動インクリメントに設定されているため、インポートを拒否します。MysqlテーブルBは行をスキップしたくないようです。

表Aに移動し、行を次のように更新しました。

1、2、3、4、5 ...、18

ここで、user_id値がNULLのPyphAdminを使用してテーブルAにユーザーを作成しようとすると、取得するIDは2596です。Mysqlは古いインクリメントシーケンスを引き続き記憶しています。Mysqlテーブルを前の行に基づいて自動インクリメントして新しいIDが19になるようにするにはどうすればよいですか?

mysqlインポートファイルはphpshieldで暗号化されているため、何が起こっているのかわからず、編集する方法がありません。しかし、他のすべての可能性を排除した後、これが起こっていると思います。

4

3 に答える 3

3
  1. フィールドは主キーである必要があります-PRIMARY KEY (id)
  2. フィールドはAUTO_INCREMENTである必要があります
  3. テーブルの自動インクリメント値をリセットします。

例えば ​​-

CREATE TABLE table1(
  id INT(11) NOT NULL AUTO_INCREMENT,
  PRIMARY KEY (id)
);

新しい自動インクリメント値を設定します-

ALTER TABLE table1 AUTO_INCREMENT = 19;

于 2012-10-16T06:18:33.283 に答える
0

これを試して

ALTER TABLE A AUTO_INCREMENT = 19;

于 2012-10-16T06:20:57.383 に答える
0

ALTER TABLE TableA AUTO_INCREMENT = 19;

于 2012-10-16T06:21:20.747 に答える