十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
create table 表名
10年积累的网站建设、做网站经验,可以快速应对客户对网站的新想法和需求。提供各种问题对应的解决方案。让选择我们的客户得到更好、更有力的网络服务。我虽然不认识你,你也不认识我。但先网站设计后付款的网站建设流程,更有城中免费网站建设让你可以放心的选择与我们合作。
(
)
一个表中只能有一个主键约束和唯一约束,但一个主键约束可以在多列上.
-
-为什么会有两个主键
主键的概念就只能允许一个表一个主键吧-
-,即使你能够找到两个字段都可以做唯一标识,那也只可能有一个主键吧!
有没有表结构啊,然后能否说下你到底拿两个主键来干什么····
1楼的还是1个主键啊,只是把KEY1和KEY2两个条件作为主键而已呀~
再看看别人怎么说的。
courseidint,
scoreint,primarykey(studentno) );
②修改时:ALTER TABLE table_name ADD CONSTRAINT pk_name PRIMARY KEY(列名);
前提是原先没有设置主键。
2.外键语法①创建时:createtablesc (studentnoint,
courseidint,
scoreint,foreignkey(courseid) );②修改时:ALTER TABLE news_info[子表名] ADD CONSTRAINT FK_news_info_news_type[约束名] FOREIGN KEY (info_id)[子表列] REFERENCES news_type[主表名] (id)[主表列] ;
3.使用组合主键
如果一列不能唯一区分一个表里的记录时,可以考虑多个列组合起来达到区分表记录的唯一性,形式①创建时:createtablesc (studentnoint,
courseidint,
scoreint,primarykey(studentno,courseid) );
②修改时:alter table tb_name add primary key (字段1,字段2,字段3);
这里的PRIMARYKEY是主键,KEY不是主键,就是普通索引。再增加一个也是可以的。
mysql的key和index有点相近是索引约束,单独的key和其它关键词结合的key(primarykey)实际表示的意义是不同。
扩展资料
primarykey和key的区别:
primarykey是主键,一般为自动增长并且是非空、int类型的,主要用来保证数据的唯一性;
Key是索引约束,对表中字段进行约束索引的,都是通过primaryforeignunique等创建的。
举例说明:
CREATETABLEwh_logrecord(
logrecord_idint(11)NOTNULLauto_increment,
user_namevarchar(100)defaultNULL,
operation_timedatetimedefaultNULL,
logrecord_operationvarchar(100)defaultNULL,
PRIMARYKEY(logrecord_id),
KEYwh_logrecord_user_name(user_name)
)
解析:KEYwh_logrecord_user_name(user_name),本表的user_name字段与wh_logrecord_user_name表user_name字段建立外键,括号外是建立外键的对应表,括号内是对应字段。
一个表不能有2个主键,因为主键代表数据的物理组织形式,所以不能存在2个。但是允许用多个字段联合组成主键。
主键只能有一个。
但是,如果你想用多个‘唯一索引’(unique index),是可以有多个的。
主键的作用是保证数据的唯一性和完整性,同时通过主键检索表能够增加检索速度。
所谓的一张表多个主键,我们称之为联合主键。
可以由多个列形成联合主键,但是主键只能有一个