自增列必须是主键吗

不一定的,MySQL 每张表只能有1个自动增长字段,这个自动增长字段即可作为主键,也可以用作非主键使用,但是请注意将自动增长字段当做非主键使用时必须必须为其添加唯一索引,否则系统将会报错。例如:

  1. 将自动增长字段设置为主键。

    create table t1 (id int auto_increment Primary key,sid int);

  2. 将自动增长字段设置为非主键,注意必须显式添加Unique键。

    create table t2 (sid int primary key,id int auto_increment Unique);

  3. 将自动增长字段设置为非主键如果未添加唯一索引将会报错,如下面语句

    create table t3 (sid int primary key,id int auto_increment)。


delimiter 改变结束符号


cmd中mysql服务的开启与关闭

  • 要以管理员身份打开cmd
  • 打开命令: net start mysql
  • 关闭命令: net stop mysql

为已经添加好的数据表添加外键:

语法:

alter table 表名 add constraint FK_ID foreign key(你的外键字段名) REFERENCES 外表表名(对应的表的主键字段名);

例:

alter table tb_active add constraint FK_ID foreign key(user_id) REFERENCES tb_user(id)

注意

添加外键不需要用反引号 `