如何在现有表中添加外键?

时间:2011-08-05 05:39:39

标签: php mysql zend-framework alter-table

我有三张桌子:

1。用户(id,name,birthdate) - PRIMARY KEY('id')

2。联系(身份证明,联系人,已验证) - PRIMARY KEY('id')

第3。 UserContact (User_id,Contact_id) - 无主键或外键

问题是在创建 UserContact 表时我不关心主键或外键。因此,我在zend框架中的 UserContact 表中插入记录时出现以下错误。

  

表必须有主键,但没有找到

现在,我想创建一个MySql脚本,更改UserContact 表,并将 User_id Contact_id 作为来自User和Contact表的外键。如何编写这个脚本。我正在使用phpMyAdmin。

谢谢

1 个答案:

答案 0 :(得分:5)

ALTER TABLE Syntax

添加外键 -

ALTER TABLE UserContact
  ADD CONSTRAINT FK_UserContact_User FOREIGN KEY (user_id) REFERENCES user(id);
ALTER TABLE UserContact
  ADD CONSTRAINT FK_UserContact_Contact FOREIGN KEY (contact_id) REFERENCES user(id);

添加主键 -

ALTER TABLE UserContact
  ADD PRIMARY KEY (User_id, Contact_id);