0

今日、テーブルに2 つの一意のキー ( external_id、 ) を追加しました。nameそれ以来、 - 列 (主キー) のカウントidは非常に奇妙で、問題を再現できません。

行を削除しませんでしたが、更新しました ( ON DUPLICATE KEY)。主キーidを 1、2、3、4、5、6、... のように線形にカウントアップしたい

構造:

CREATE TABLE IF NOT EXISTS `table_test` (
  `id` int(10) NOT NULL AUTO_INCREMENT,
  `external_id` int(10) NOT NULL,
  `x` int(5) NOT NULL,
  `y` int(5) NOT NULL,
  `z` int(5) NOT NULL,
  `name` varchar(255) NOT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `external_id` (`external_id`,`name`)
) ENGINE=InnoDB  DEFAULT CHARSET=utf8 AUTO_INCREMENT=0 ;

コンテンツ:

ID  | external_id | name | x | y | z
------------------------------------
  1 |          1  | A    | 3 | 3 | 2
  2 |          2  | B    | 2 | 2 | 5
  7 |          3  | C    | 5 | 3 | 2
 11 |          1  | D    | 7 | 6 | 3
 12 |          2  | E    | 5 | 4 | 2
 17 |          3  | F    | 3 | 8 | 5
 21 |          1  | G    | 6 | 6 | 3
 22 |          2  | H    | 8 | 5 | 7
 23 |          3  | I    | 1 | 0 | 9

編集: 最新の ID は23です。PHPMyAdminの行統計では、の autoindexは27! 24から26はどうですか?よくわかりません。

聞いたことのない構造や秘密はありますか?前もって感謝します!

4

2 に答える 2

0

テーブルからデータを削除した場合、既に使用されている id 値は再び使用されません。あなたが持っている場合:

ID  | external_id | name | x | y | z
------------------------------------
  1 |          1  | A    | 3 | 3 | 2
  2 |          2  | B    | 2 | 2 | 5
  3 |          3  | C    | 5 | 3 | 2
  4 |          1  | D    | 2 | 2 | 5
  5 |          2  | E    | 5 | 3 | 2
  6 |          3  | F    | 5 | 3 | 2

次に、行 3 ~ 6 を削除してさらにデータを追加すると、次回は ID が 7 から増加し始めます。

于 2013-08-26T20:27:21.897 に答える
0

返信ありがとうございます。最後に、エラーを見つけました。構造は次のようになります。

CREATE TABLE IF NOT EXISTS `table_test` (
  `id` int(10) NOT NULL AUTO_INCREMENT,
  `external_id` int(10) NOT NULL,
  `x` int(5) NOT NULL,
  `y` int(5) NOT NULL,
  `z` int(5) NOT NULL,
  `name` varchar(255) NOT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY (`external_id`,`name`) # ----- this line was changed
) ENGINE=InnoDB  DEFAULT CHARSET=utf8 AUTO_INCREMENT=0 ;
于 2013-08-26T23:34:23.213 に答える