如何设置SQL默认值等于主键

时间:2013-09-22 11:37:52

标签: mysql sql

我有一个名为post的表格,如下所示:

╔════════════════════════════════════╗
║     post_id   origin_post_id   rev ║
╠════════════════════════════════════╣
║        1          1             1  ║
║        2          1             2  ║
║        3          3             1  ║
║        4          3             2  ║
╚════════════════════════════════════╝

post_id是主键并使用auto_increment 我使用origin_post_id来存储原始帖子ID。

如果是新帖子,我想将origin_post_id设为等于post_id。 如何让我使用

INSERT INTO POST 
            (POST_ID, 
             ORIGIN_POST_ID, 
             REV) 
VALUES      (NULL, 
             Default, 
             3)

创建表格时我该怎么办? 有一些方法可以获得auto_increment键吗?

1 个答案:

答案 0 :(得分:3)

运行您的上述查询

INSERT INTO POST 
            (POST_ID, 
             ORIGIN_POST_ID, 
             REV) 
VALUES      (NULL, 
             Default, 
             3)

然后运行更新查询

UPDATE POST SET ORIGIN_POST_ID=POST_ID WHERE ORIGIN_POST_ID IS NULL