У меня вопрос. Я пытаюсь, чтобы столбец 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)
);
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 или просто сохранить его таким образом (если вы планируете использовать теги "cascade delete" и связанные с t_tags, это имеет значение)