2009-12-04 7 views
0

질문이 있습니다. 태그를 제출할 때 q_id 열에 id 열의 값을 가져 오려고합니다. PHP를 사용하여이 작업을 수행하려고했지만 그냥 추가해야한다고 생각했습니다. AUTO INCREMENT 태그가 제출 될 때 표가 업데이트되므로 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

좀 더 자세한 설명을 제공 할 수 있다면 우리가 실제로 솔루션을 제공하는 데 도움이 될 표를 사용하여 목표가 무엇인지 확인하십시오. – user103219

+0

기본적으로 테이블은 사용자가 질문에 입력하는 태그 용이며 여기에 비슷한 질문을 게시 한 개별 질문마다 모두 표시합니다. – tor

답변

0

자동 증가는 테이블에 같은 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 외래 키로 추가하거나이 방법으로 유지할 수 있습니다 (태그와 t_tags와 관련된 "캐스케이드 삭제"를 계획하는 경우 중요).

관련 문제