其中一个组合主键为外键Mysql [英] One of Composite primary key as Foreign key Mysql

查看:182
本文介绍了其中一个组合主键为外键Mysql的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述



  CREATE TABLE One(
Oneid int,
Twoid int,
data char(20),
PRIMARY KEY(Oneid,Twoid))



  CREATE TABLE Two(
Twoid int,
) data char(20),
PRIMARY KEY(Twoid))

表二是外键。
如何解决。
非常感谢。

解决方案在 CREATE TABLE $ b $ pre $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $
PRIMARY KEY(Twoid));

CREATE TABLE 1(
Oneid int,
Twoid int,
data char(20),
PRIMARY KEY(Oneid,Twoid),
FOREIGN KEY(Twoid)REFERENCES Two(Twoid)); - < == here

请参阅小提琴

或者使用 ALTER TABLE 如果您的表已经存在:

  ALTER TABLE 1 
ADD CONSTRAINT FK_Twoid FOREIGN KEY(Twoid)REFERENCES Two(Twoid) ;

请参阅小提琴


I Have two Tables.

CREATE TABLE One(
    Oneid int,
    Twoid int,
    data char(20),
    PRIMARY KEY(Oneid,Twoid) )

Table One is Oneid and Twoid as primary key.

CREATE TABLE Two(
    Twoid int,
    data char(20),
    PRIMARY KEY(Twoid) )

And I want to One.Twoid is foreign key for Table Two. How to solve it. Thank a lot.

解决方案

Add the constraint in the CREATE TABLE statement:

CREATE TABLE Two(
    Twoid int,
    data char(20),
    PRIMARY KEY (Twoid));

CREATE TABLE One(
    Oneid int,
    Twoid int,
    data char(20),
    PRIMARY KEY (Oneid,Twoid),
    FOREIGN KEY (Twoid) REFERENCES Two(Twoid)); -- <== here

See fiddle.

Or use ALTER TABLE if your tables already exist:

ALTER TABLE One
ADD CONSTRAINT FK_Twoid FOREIGN KEY (Twoid) REFERENCES Two (Twoid);

See fiddle.

这篇关于其中一个组合主键为外键Mysql的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆