如何在UserProfile和Location表之间创建关系?

时间:2012-09-19 06:35:30

标签: php mysql sql relational-database mysql-workbench

我正在尝试使用两个表创建一个数据库:Location和UserProfile。

位置包含地址,UserProfile包含HowtownLocation和CurrentLocation。

我希望Hometownlocation和Currentlocation包含来自Location的ID,并在删除用户时级联(假设多个用户不共享相同的地址)。

一个用户可以拥有多个地址(即Hometown和Current),许多用户可以使用一个地址。

我有一个工作版本,但我仍然需要它来级联更改......我希望能够通过创建一个新的UserProfile在PHPMyAdmin中输入数据。

我正在使用MySQL Workbench,但这并不重要。

:)

1 个答案:

答案 0 :(得分:1)

MySQL Reference有帮助。语法是:

[CONSTRAINT [symbol]] FOREIGN KEY
  [index_name] (index_col_name, ...)
  REFERENCES tbl_name (index_col_name,...)
  [ON DELETE reference_option]
  [ON UPDATE reference_option]

reference_option:
  RESTRICT | CASCADE | SET NULL | NO ACTION

另外请确保您的数据库不是MyISAM,而是InnoDB,据我所知,这是新MySQL版本中的默认值。