我希望在表中有一个外键但我不知道该怎么做。我希望在“wall”表中有一个UserID列,以便我可以链接回来获取用户ID的详细信息等。我将如何进行此操作?
挂表: alt text http://img821.imageshack.us/img821/7701/screenshot20100808at010.png
用户表: alt text http://img375.imageshack.us/img375/7701/screenshot20100808at010.png
答案 0 :(得分:3)
1)为了在userid
表中有一个名为WALL
的外键列,您需要创建列 - 如果该列已存在,则跳至#2:
ALTER TABLE WALL
ADD COLUMN userid INT(25) NOT NULL
如果要在不指定用户标识的情况下允许存在WALL记录:
ALTER TABLE WALL
ADD COLUMN userid INT(25) NULL
2)现在你add the foreign key constraint:
ALTER TABLE WALL
ADD FOREIGN KEY (userid) REFERENCES USERS(userid)
答案 1 :(得分:1)
将UserID列添加到Wall表,然后在其上创建外键。在SQL中,它看起来像这样:
CREATE TABLE Wall (
...
UserID INT,
...
FOREIGN KEY (UserID) REFERENCES User (UserID) ON UPDATE CASCADE ON DELETE RESTRICT,
...
) ENGINE=InnoDB;
请注意,您可能不希望拥有ON DELETE RESTRICT。这是最严格的选择。在MySQL网站上阅读它:http://dev.mysql.com/doc/refman/5.1/en/innodb-foreign-key-constraints.html