MySQL: есть ли способ иметь столбец по умолчанию с автоинкрементом (или копировать из поля автоинкремента), но все же разрешить вставку других значений? - PullRequest
0 голосов
/ 12 апреля 2011

Я создаю сайт вопросов и ответов.Я хочу хранить и вопросы, и ответы в одной таблице:

CREATE TABLE Q_n_A (
    id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
    question_id INT NOT NULL,
    # type indicates whether the record is a question (1) or an answer (0)
    type BOOL,
    title VARCHAR(80),
    body VARCHAR(5000)
);

Когда я вставляю новый вопрос, у меня нет значения question_id для этого нового вопроса.Поэтому я хочу использовать значение auto_incremented id в качестве значения для question_id.Поэтому в этом случае я хочу, чтобы по умолчанию question_id было установлено значение AUTO_INCREMENT или скопировано из id.

. Когда я вставляю ответ на существующий вопрос, я уже знаю, что для question_idэтот ответ.Поэтому я хочу указать значение для question_id при вставке.

Есть ли способ сделать то, что я хочу здесь: по умолчанию question_id до AUTO_INCREMENT (или скопировать из поля AUTO_INCREMENTid) но все же разрешить указание значения не по умолчанию question_id?

Спасибо.

1 Ответ

1 голос
/ 12 апреля 2011
CREATE TABLE Q_n_A (
overall_id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
parent_id INT default '0',
title VARCHAR(80),
body VARCHAR(5000)
);

Теперь, когда кто-то спрашивает, просто не вставляйте parent_id, в результате чего у него будет parent_id = 0. Когда кто-то отвечает, вставьте в parent_id значение ovvera_id, через данные $ _POST или, если ваша форма настроена.

Создание еелегко запросить правильные ответы на данный вопрос

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