为了账号安全,请及时绑定邮箱和手机立即绑定

如何正确创建复合主键 - MYSQL

如何正确创建复合主键 - MYSQL

如何正确创建复合主键 - MYSQL这是我正在使用的激烈设置的粗略过度简化。table_1并且table_2两者都有自动增量代理主键作为ID。info是一个包含有关table_1和的信息的表table_2。table_1 (id, field)  table_2 (id, field, field)info ( ???, field)我试图决定,如果我应该做的主键info的ID从复合材料table_1和table_2。如果我这样做,哪一个最有意义呢?(在这个例子中,我将ID 11209与ID 437相结合)INT(9)11209437 (我可以想象为什么这很糟糕)VARCHAR (10) 11209-437 DECIMAL (10,4)11209.437或者是其他东西?将它用作MYSQL MYISAM数据库的主键可以吗?
查看完整描述

3 回答

?
胡说叔叔

TA贡献1804条经验 获得超8个赞

我会使用复合(多列)键。

CREATE TABLE INFO (
    t1ID INT,
    t2ID INT,
    PRIMARY KEY (t1ID, t2ID))

这样,您可以将t1ID和t2ID作为指向其各自表的外键。


查看完整回答
反对 回复 2019-07-26
?
喵喔喔

TA贡献1735条经验 获得超5个赞

语法是CONSTRAINT constraint_name PRIMARY KEY(col1,col2,col3)例如::

CONSTRAINT pk_PersonID PRIMARY KEY (P_Id,LastName)

如果您在创建表时正在编写上面的示例,例如::

CREATE TABLE person (
   P_Id int ,
   ............,
   ............,
   CONSTRAINT pk_PersonID PRIMARY KEY (P_Id,LastName));

要将此约束添加到现有表,您需要遵循以下语法

ALTER TABLE table_name ADD CONSTRAINT constraint_name PRIMARY KEY (P_Id,LastName)



查看完整回答
反对 回复 2019-07-26
  • 3 回答
  • 0 关注
  • 4491 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信