2009-12-04 184 views
0

我有一個問題我想有q_id列取時,標籤被提交我一直在努力做到這一點使用PHP,但我想我應該只是添加自動遞增的id列的值q_id列,因爲當標籤被引用時表格會被更新。或者這是做錯的方法,還是有更好的方法來做到這一點?PHP/MySQL數據庫問題?

這裏是下面的MySQL表。

CREATE TABLE q_tags (
q_id INT UNSIGNED NOT NULL, 
users_q_id INT UNSIGNED NOT NULL 
); 

CREATE TABLE tags (
id INT UNSIGNED NOT NULL AUTO_INCREMENT, 
tag VARCHAR(255) NOT NULL, 
PRIMARY KEY (id) 
); 
+0

如果你可以給多一點的說明(如果你在能夠「級聯刪除」有關的標籤和t_tags,這將關係計劃)至於你們的目標是什麼,這對我們提供的解決方案真的有幫助。 – user103219 2009-12-04 05:01:27

+0

基本上這些表格是用於用戶輸入問題的標籤,然後顯示所有針對每個單獨問題的所有問題 – tor 2009-12-04 05:05:27

回答

0

AUTO INCREMENT主要用於避免在表中添加相同的ID,以便保持忠誠的索引。我建議你爲q_tags添加一個主鍵,並將當前的q_id改爲外鍵,以便它可以成爲標籤表的引用。

編輯:

CREATE TABLE q_tags (
q_id INT UNSIGNED NOT NULL AUTO_INCREMENT, 
t_id INT UNSIGNED NOT NULL, 
users_q_id INT UNSIGNED NOT NULL, 
PRIMARY KEY (q_id) 
); 

CREATE TABLE tags (
id INT UNSIGNED NOT NULL AUTO_INCREMENT, 
tag VARCHAR(255) NOT NULL, 
PRIMARY KEY (id) 
); 

T_ID在第一個表是 「主鍵」。您可以將它作爲一個真正的MySQL的外鍵或者只是保持這樣