Вопрос базы данных PHP / MySQL? - PullRequest
       7

Вопрос базы данных PHP / MySQL?

0 голосов
/ 04 декабря 2009

У меня есть вопрос. Я пытаюсь, чтобы столбец q_id принимал значение столбца id при отправке тега. Я пытался сделать это с помощью PHP, но подумал, нужно ли просто добавить AUTO INCREMENT в столбец q_id, поскольку таблицы обновляются при отправке тега. или это неправильный способ сделать это или есть лучший способ сделать это?

Вот таблицы 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)
);  

1 Ответ

0 голосов
/ 04 декабря 2009

AUTO INCREMENT используется главным образом, чтобы избежать добавления того же идентификатора в таблицу, чтобы вы могли сохранить лояльный индекс. Я бы предложил вам добавить первичный ключ в 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, это будет иметь значение)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...