使用外键更改表

发布于 2024-11-02 02:51:03 字数 381 浏览 0 评论 0原文

我有三张桌子。

Person (id, FirstName, LastName, BirthDate)
Contact (id, contact, type)
PersonContact( Person_id, Contact_id )

正如您所看到的,Person_id 来自 PersonContact 表中的 Person 表 Contact_id 来自 PersonContact 表中的 Contact 表,

我想编写一个查询,将 PersonContact 表的 Person_id 列与 Person 表的 id 列作为外键相关联。

PersonContact 的 Contact_id 列以 Contact 表的 id 列作为外键

I have three tables.

Person (id, FirstName, LastName, BirthDate)
Contact (id, contact, type)
PersonContact( Person_id, Contact_id )

As you can see that Person_id is comming from Person table in PersonContact table
And Contact_id is comming from Contact table in PersonContact table

I want to write a query that should relate Person_id column of PersonContact table with id column of Person Table as foreign key.

And Contact_id column of PersonContact with id column of Contact table as foreign key

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

苍白女子 2024-11-09 02:51:03

这应该可以回答问题

CREATE TABLE IF NOT EXISTS `person_contact` (
  `contact_id` int(11) NOT NULL,
  `person_id` int(11) NOT NULL,
  PRIMARY KEY (`contact_id`,`person_id`)
) ENGINE=InnoDB  DEFAULT CHARSET=latin1;


ALTER TABLE `person_contact`
  ADD CONSTRAINT `person_contact_ibfk_2` FOREIGN KEY (`person_id`) REFERENCES `person` (`id`),
  ADD CONSTRAINT `person_contact_ibfk_1` FOREIGN KEY (`contact_id`) REFERENCES `contact` (`id`);

This should answer the problem

CREATE TABLE IF NOT EXISTS `person_contact` (
  `contact_id` int(11) NOT NULL,
  `person_id` int(11) NOT NULL,
  PRIMARY KEY (`contact_id`,`person_id`)
) ENGINE=InnoDB  DEFAULT CHARSET=latin1;


ALTER TABLE `person_contact`
  ADD CONSTRAINT `person_contact_ibfk_2` FOREIGN KEY (`person_id`) REFERENCES `person` (`id`),
  ADD CONSTRAINT `person_contact_ibfk_1` FOREIGN KEY (`contact_id`) REFERENCES `contact` (`id`);
余生一个溪 2024-11-09 02:51:03

这是我在 T-SQL

Select FirstName, LastName, BirthDate 方面的价值 0.02 美元的建议
来自 人 p
加入 PersonContact 电脑 ON
p.id= pc.Person_id

选择联系人,输入
来自联系人 c
加入人员联系电脑
ON c.id= pc.Person_id

Here's my $0.02 worth of advise in terms of T-SQL

Select FirstName, LastName, BirthDate
from Person p
join PersonContact pc ON
p.id= pc.Person_id

Select Contact, type
From Contact c
join PersonContact pc
ON c.id= pc.Person_id

樱花坊 2024-11-09 02:51:03

http://dev.mysql.com/doc/refman/5.1 /en/alter-table.html

alter PersonContact add foreign key(PersonID) references Person(ID)

要选择,您需要:

select *
    from Person
        inner join PersonContact on(Person.ID=PersonContact.PersonID)

http://dev.mysql.com/doc/refman/5.1/en/alter-table.html

alter PersonContact add foreign key(PersonID) references Person(ID)

To select, you do:

select *
    from Person
        inner join PersonContact on(Person.ID=PersonContact.PersonID)
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文