1

次のSQLステートメントに出くわしましたが、AUTO_INCREMENTが2つの異なる場所にあることがわかります。違いを説明していただけますか。最初のものはIDの自動インクリメントです。しかし、2番目のものはどういう意味ですか?

CREATE TABLE `categories`(
    `id` int(11) NOT NULL AUTO_INCREMENT,
     `name` varchar(100) NOT NULL,
     `image_path` varchar(200) NOT NULL,
      PRIMARY KEY(`id`)
) ENGINE = InnoDB;

2番目のステートメント。

CREATE TABLE `categories`(
     `id` int(11) NOT NULL AUTO_INCREMENT,
     `name` varchar(100) NOT NULL,
     `image_path` varchar(200) NOT NULL,
     PRIMARY KEY(`id`)
) ENGINE = InnoDB  DEFAULT CHARSET = latin1 AUTO_INCREMENT=4 ;

http://dev.mysql.com/doc/refman/5.0/en/example-auto-increment.htmlを参照しました。しかし、何も見つかりませんでした。

4

1 に答える 1

8

AUTO_INCREMENT2番目のステートメントのは、IDで使用される最初の番号を4に設定します。

`id` int(11) NOT NULL AUTO_INCREMENT

列名を設定し、新しい行が追加されたときに番号を自動的にインクリメントするようにDBに指示します。

) ENGINE = InnoDB  DEFAULT CHARSET = latin1 AUTO_INCREMENT=4 ;

テーブルに使用されるエンジン、文字セット、および番号付けを1ではなく4から開始するように設定します。

CREATE TABLEこれについてもう少し詳しく説明します。

  • 自動増加

テーブルの初期AUTO_INCREMENT値。MySQL 5.0では、これはMyISAMテーブルとMEMORYテーブルで機能します。MySQL5.0.3以降のInnoDBでもサポートされています。

于 2012-12-30T20:57:50.043 に答える