将相同的自动增量值插入到同一表的另一列

时间:2018-10-02 12:24:35

标签: mysql sql

我有一个名为“ demo”的表,其中有3列。 ID,名称和像素。在该ID中,主要是自动递增。我需要在插入过程中将id自动增量值插入像素列

1 个答案:

答案 0 :(得分:1)

一个明显的问题是,如果pixel始终等于id,为什么根本需要它?如果您将id中的值用作初始默认值,为什么不将其默认为NULL

话虽如此,您确实有两种选择:

  1. 如@PSalmon所述,如果您的版本支持,则可以使用生成的列:

    CREATE TABLE demo
    (
        `id` INT PRIMARY KEY AUTO_INCREMENT,
        `name` VARCHAR(255),
        pixel AS (`id`)
    )
    
  2. 如@WhatsThePoint所述,您可以使用trigger。在插入内容上,更新pixel以匹配id

不过,实际上,确实不需要具有与id相同值的单独属性。如果确实需要,则可以创建一个与pixel相匹配的id列的视图。