6

これは MySQL テーブル作成のスキーマです。AUTO_INCREMENT=3最後の行の はどういう意味ですか?

CREATE TABLE IF NOT EXISTS `test_b` (
  `ID_b` int(10) unsigned NOT NULL AUTO_INCREMENT,
  `stuff` varchar(1000) COLLATE utf8_unicode_ci DEFAULT NULL,
  PRIMARY KEY (`ID_b`)
) ENGINE=InnoDB  DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=3 ;
4

2 に答える 2

6

これにより、初期AUTO_INCREMENT値が 3 に設定されます。そのため、最初に挿入されたレコードがデフォルトで 1 から開始されるのではなく、3 から開始されます。

CREATE TABLE Syntaxのマニュアルから:

テーブルの AUTO_INCREMENT の初期値。
CREATE TABLE ステートメントで AUTO_INCREMENT テーブル オプションをサポートするエンジンの場合、ALTER TABLE tbl_name AUTO_INCREMENT = N を使用して AUTO_INCREMENT 値をリセットすることもできます。列の現在の最大値よりも低い値を設定することはできません。

最初からこの値を大きく設定して、最初よりも多くのコンテンツを持っているように見せるというケースを聞いたことがあります。例: ユーザー ID 15,000 対ユーザー ID 1.

于 2012-08-13T22:03:27.507 に答える
1

どうやら、開始自動インクリメント番号を設定するために使用されます。

http://dev.mysql.com/doc/refman/5.0/en/example-auto-increment.html

于 2012-08-13T22:02:11.433 に答える