在不使用Alter table的情况下,如何创建一个带有自增长值的SQL表?

9
例如我正在创建以下表格:
CREATE TABLE Persons ( ID int NOT NULL AUTO_INCREMENT, LastName varchar(255) NOT NULL, FirstName varchar(255), Address varchar(255), PRIMARY KEY (ID) )
据我所知,可以通过类似以下的Alter table来修改自动增量的值:
ALTER TABLE Persons AUTO_INCREMENT=100;
但我想知道在创建表时是否有一种设置自动增量值的方法?像这样的东西:
CREATE TABLE Persons ( ID int NOT NULL AUTO_INCREMENT = 100, LastName varchar(255) NOT NULL, FirstName varchar(255), Address varchar(255), PRIMARY KEY (ID) )
2个回答

14

是的,您可以在创建表时这样做:

是的,您可以在创建表时这样做:

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)

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;

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接