-- 将自动增长字段设置为主键
create table t1 (id int auto_increment Primary key,sid int);
-- 将自动增长字段设置为非主键,注意必须显式添加Unique键
create table t2 (sid int primary key,id int auto_increment Unique);
-- 将自动增长字段设置为非主键如果未添加唯一索引将会报错,如下面语句
create table t3 (sid int primary key,id int auto_increment);联合主键建立外键跟简单主键一样的,示例:
mysql> create table tb_key1(id int, itemid int, memo
-> \c
mysql> create table tb_key1(id int, itemid int, memo varchar(20),
-> primary key(id,itemid)
-> );
Query OK, 0 rows affected (009 sec)
mysql> create table tb_key2(newid int, itemid int, name varchar(50),
-> foreign key (newid,itemid) references tb_key1(id,itemid)
-> );
Query OK, 0 rows affected (008 sec)
mysql> create table tb_key3(myid int,remark varchar(100),
-> foreign key(myid) references tb_key1(id)
-> );
Query OK, 0 rows affected (013 sec)
mysql>一、mysql 表中如果是单主键的话,那这个主键也会被 系统默认建为 索引
二、mysql 表中如果是复合主键的话,那系统会遵循左对齐原则,即如复合主键 a 和 b字段和c字段, 默认建的主键索引是abc即主键全有,把所有主键全部建立在一个单独的主键索引中。添加字段的语句应该类似ALTER TABLE tbl ADD COLUMNS (字段名 数据类型);
如果没有主键,那就可以ALTER TABLE tbl ADD PRIMARY KEY();
至于有的话,我也不太清楚了。
我本机没有数据库,上面的是凭印象写出来的,不对勿怪……
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)