mysql--一个表上可以指定几个auto_increment

auto_increment测试:
一个表是否可以有多个列使用auto_increment?
只有一个列使用auto_increment:
mysql> create table tab_auto_incr(a int not null auto_increment,b int not null,primary key (a));               
Query OK, 0 rows affected (0.17 sec)

mysql> drop table tab_auto_incr;
Query OK, 0 rows affected (0.03 sec)


没问题,在b字段做动作
mysql> create table tab_auto_incr(a int not null,b int not null auto_increment,unique key (b));               
Query OK, 0 rows affected (0.16 sec)

mysql> drop table tab_auto_incr;
Query OK, 0 rows affected (0.04 sec)

如果a是主键,b是唯一键,那么
mysql> create table tab_auto_incr(a int not null,b int not null,primary key (a),unique key (b));                

Query OK, 0 rows affected (0.23 sec)

mysql> drop table tab_auto_incr;
Query OK, 0 rows affected (0.03 sec)


也没有问题,那么如果我在一个表上两个字段指定auto_increment呢?
mysql> create table tab_auto_incr(a int not null auto_increment,b int not null auto_increment,primary key (a),unique key (b)); 
ERROR 1075 (42000): Incorrect table definition; there can be only one auto column and it must be defined as a key

不行!说明一个表只能有一个auto_increment,且该列必须是primary key或者unique key。

你可能感兴趣的:(mysql,测试,table,null,query)