SQL创建表并设置自动增量值而不使用Alter表

时间:2015-04-07 08:16:24

标签: mysql create-table

例如我正在创建下表:

  

创建表人员(
  ID int NOT NULL AUTO_INCREMENT,
  姓   varchar(255)NOT NULL,
  FirstName varchar(255),
  地址varchar(255),
  主要钥匙(ID)

据我所知,自动增量的值可以通过Alter表修改,如下所示

  

ALTER TABLE人员AUTO_INCREMENT = 100;

但我只是想知道有没有办法在创建表时设置自动增量的值?
这样的事情?

  

创建表人员(
  ID int NOT NULL AUTO_INCREMENT = 100,
  姓   varchar(255)NOT NULL,
  FirstName varchar(255),
  地址varchar(255),
  主要钥匙(ID)

2 个答案:

答案 0 :(得分:8)

是的,您可以在创建表格时执行此操作

CREATE TABLE Persons (
     ID int NOT NULL AUTO_INCREMENT,
     LastName varchar(255) NOT NULL,
     FirstName varchar(255),
     Address varchar(255),
     PRIMARY KEY (ID)
)AUTO_INCREMENT=100;

这是一个测试用例

mysql> CREATE TABLE Persons (
    ->      ID int NOT NULL AUTO_INCREMENT,
    ->      LastName varchar(255) NOT NULL,
    ->      FirstName varchar(255),
    ->      Address varchar(255),
    ->      PRIMARY KEY (ID)
    -> )AUTO_INCREMENT=100;
Query OK, 0 rows affected (0.13 sec)

mysql> insert into Persons (LastName) values ('CCC');
Query OK, 1 row affected (0.03 sec)

mysql> select * from Persons ;
+-----+----------+-----------+---------+
| ID  | LastName | FirstName | Address |
+-----+----------+-----------+---------+
| 100 | CCC      | NULL      | NULL    |
+-----+----------+-----------+---------+
1 row in set (0.00 sec)

答案 1 :(得分:2)

试试这个

  CREATE TABLE Persons (
         ID int NOT NULL AUTO_INCREMENT,
         LastName varchar(255) NOT NULL,
         FirstName varchar(255),
         Address varchar(255),
         PRIMARY KEY (ID)
    )AUTO_INCREMENT=100;