【发布时间】:2011-08-04 02:52:58
【问题描述】:
我正在建立一个问答网站。我想将问题和答案都存储在同一个表中:
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 的值。因此,我想使用 id 的 auto_incremented 值作为 question_id 的值。所以在这种情况下,我希望 question_id 默认为 AUTO_INCREMENT 或从 id 复制。
当我插入现有问题的答案时,我已经知道该答案的 question_id 是什么。因此,我想在插入时为 question_id 指定一个值。
有没有办法在这里做我想做的事:默认question_id 到AUTO_INCREMENT(或从AUTO_INCREMENT 字段id 复制)但仍然允许指定question_id 的非默认值?
谢谢。
【问题讨论】:
-
为什么不向51区提交提案? area51.stackexchange.com
-
很确定您可以(并且应该)为此使用
TRIGGER。见dev.mysql.com/doc/refman/5.0/en/trigger-syntax.html
标签: mysql database-design auto-increment