我有一个名为“ demo”的表,其中有3列。 ID,名称和像素。在该ID中,主要是自动递增。我需要在插入过程中将id自动增量值插入像素列
答案 0 :(得分:1)
一个明显的问题是,如果pixel
始终等于id
,为什么根本需要它?如果您将id
中的值用作初始默认值,为什么不将其默认为NULL
?
话虽如此,您确实有两种选择:
如@PSalmon所述,如果您的版本支持,则可以使用生成的列:
CREATE TABLE demo
(
`id` INT PRIMARY KEY AUTO_INCREMENT,
`name` VARCHAR(255),
pixel AS (`id`)
)
如@WhatsThePoint所述,您可以使用trigger。在插入内容上,更新pixel
以匹配id
。
不过,实际上,确实不需要具有与id
相同值的单独属性。如果确实需要,则可以创建一个与pixel
相匹配的id
列的视图。