一、mysql 表中如果是单主键的话,那这个主键也会被 系统默认建为 索引
成都创新互联专注于崇阳网站建设服务及定制,我们拥有丰富的企业做网站经验。 热诚为您提供崇阳营销型网站建设,崇阳网站制作、崇阳网页设计、崇阳网站官网定制、小程序制作服务,打造崇阳网络公司原创品牌,更为您提供崇阳网站排名全网营销落地服务。
二、mysql 表中如果是复合主键的话,那系统会遵循左对齐原则,即如复合主键 a 和 b字段和c字段..., 默认建的主键索引是abc即主键全有,把所有主键全部建立在一个单独的主键索引中。
添加主键~
ALTER
TABLE
table_name
ADD
CONSTRAINT
pk_name
PRIMARY
KEY(列名);
添加外键~
ALTER
TABLE
table_name
ADD
CONSTRAION
pk_name
FOREIGN
KEY(列名)
REFERENCES
table_name(列名);
基础语法~其他条件自行添加
mysql设置主键的代码是PRIMARY KEY (主键字段)。
如:CREATE TABLE Customer (SID integer,Last_Name varchar(30),First_Name varchar(30),PRIMARY KEY (SID))。
主关键字(主键,primary key)是被挑选出来,作表的行的唯一标识的候选关键字。一个表只有一个主关键字。主关键字又可以称为主键。
扩展资料:
永远也不要更新主键。实际上,因为主键除了唯一地标识一行之外,再没有其他的用途了,所以也就没有理由去对它更新。如果主键需要更新,则说明主键应对用户无意义的原则被违反了。
主键应当由计算机自动生成。如果由人来对主键的创建进行干预,就会使它带有除了唯一标识一行以外的意义。一旦越过这个界限,就可能产生人为修改主键的动机,这样,这种系统用来链接记录行、管理记录行的关键手段就会落入不了解数据库设计的人的手中。
如果是主键的话,第一条件肯定是要Only and Not Null.
题目没错的话。。。那你就别再纠结了,这个出题的人有点脑残。
1、打开navicat工具,连接上mysql服务器,选择完数据库之后,选择一个表右击选择设计表(这里为了演示测试,随便选择一个表即可)。
2、在设计表页面,可以看到当前表的所有字段信息,我们选择的学生表有一个id字段,目前该表没有主键字段。
3、如图,在最后一列右击选择主键,即可将该字段设置为主键,也可以直接点击鼠标左键,可以快速添加和取消主键。
4、设置完主键之后,可以看到一把锁的标志,并且有一个1字,因为一个表可以给多个字段添加主键,则为联合主键,这样就显示为主键1,主键2等。
5、主键设置完成之后,还没有自增,选择id字段之后,在下方,如图,勾选自动递增,这样id在每次插入记录之后都会自增一个值。
6、设置完成主键和自增之后,点击保存,关闭当前窗口,然后选择表名右击选择对象信息。
7、在DLL页面中,可以看到刚刚添加的主键和自增的DLL语句,这里就是创建表的DLL语句。
8、上面有提到联合主键,其实一个表可以给多个字段设置主键,这样可以组成联合主键,对于特定的业务,联合主键也是必须的。
mysql设置UUID为主键需要先将数据类型设置为VARCHAR(36),然后插入数据的时候用UUID函数插入UUID。下面我用win10系统下的CMD命令行具体演示一下:
1、打开CMD,输入mysql -uroot -p命令连接mysql,如下图所示
2、通过create创建表,指定ID为varchar(36),并设置为主键,如下图所示
3、在插入数据的时候,调用uuid()函数往主键字段里插入uuid值,如下图所示
4、最后查询插入的数据就可以看到id主键列存放的是uuid类型了,如下图所示