其中一个组合主键为外键Mysql [英] One of Composite primary key as Foreign key Mysql
本文介绍了其中一个组合主键为外键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 $ c
$ 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屋!
查看全文