2012-09-19 40 views
1

我想創建一個有兩個表的數據庫:Location和UserProfile。如何在UserProfile和Location表之間創建關係?

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

我希望Hometownlocation和Currentlocation包含Location中的ID,並在刪除用戶時級聯(假設多個用戶不共享相同的地址)。

一個用戶可以有多個地址(即Hometown和Current),一個地址可以被許多用戶使用。

我有一個排序工作版本,但我仍然需要它來級聯更改...我希望能夠通過創建一個新的UserProfile在PHPMyAdmin中輸入數據。

我正在使用MySQL Workbench,但這並不重要。

:)

+0

你的DB允許設置觸發器嗎?在這種情況下,刪除設置觸發器是非常聰明的... – jtheman

+0

當用戶被刪除時,你想要級聯什麼? – ajon

+0

哦,對不起。如果具有該位置的用戶刪除了他們的帳戶,並且他們是該地址的唯一用戶,我想要刪除位置行。 – Forest

回答

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默認據我所知。

相關問題