mysql多行数据公用一个主键 ?

2025-04-02 11:32:11
推荐回答(2个)
回答1:

.....你没明白

主键 :有个特点就是唯一性 .. 即 在这个表中 没有重复值

外键 .. 你数据库中有 字段 有主键字段 一定还有其他字段把  用一个字段存储外键 就可以了,给你个例子

例如:图书数据库中有一个 分类表(对图书分类的), 还有个图书表(书本名称 作者等)

分类表中 字段:
 ID(主键)     分类名称
1              科学
2              娱乐
3             计算机
100           历史
图书表 字段:
ID(主键),        书名,            分类(外键)
1                 自然科学          1
2                 XP使用教程        3
3                 现代史            100
4                 花花公子1册       2
5                 古代史            100

 希望你能明白,不过外键这个词 我也快忘记了..只记得引用..

外键是引用其他表里面的 主键或者不重复的一个字段的值.

一般外键是做分类来用

回答2:

键是为了标识数据库记录唯一性,不允许记录重复,且键值不能为空,主键也是一个特殊索引。
数据表中只允许有一个主键,但是可以有多个索引。
使用主键会数据库会自动创建主索引,也可以在非主键上创建索引,方便查询效率。
索引可以提高查询速度,它就相当于字典的目录,可以通过它很快查询到想要的结果,而不需要进行全表扫描。
主键索引外索引的值可以为空。
主键也可以由多个字段组成,组成复合主键,同时主键肯定也是唯一索引。
唯一索引则表示该索引值唯一,可以由一个或几个字段组成,一个表可以有多个唯一索引。
mysql设置主键的代码
primary key
1、最简单的:
CREATE TABLE t1(
id int not null,
name char(20)
);
2、带主键的:
a:
CREATE TABLE t1(
id int not null primary key,
name char(20)
);
b:复合主键
CREATE TABLE t1(
id int not null,
name char(20),
primary key (id,name)
);
3、带默认值的:
CREATE TABLE t1(
id int not null default 0 primary key,
name char(20) default '1'
);更多问题到问题求助专区