我有一个以下插入查询,我想知道是否可以将两个列与相同的值结合在一起?是的,我必须完全使用其中两个进行以后的更改。
insert into `products`
set
`name` = 'y',
`time` = 'x',
`time2` = 'x';
逻辑上思考,伪代码time, time2 = 'x'
应该以某种方式工作,但事实并非如此。谢谢。
您使用的语法不是insert
的标准语法。我相信这是Mysql的特殊语法。
这是一种方法:
insert into `products`(name, time, time2)
select 'y', 'x', 'x';
如果您在MySQL中进行此操作并输入此操作,则可以做类似的事情:
insert into `products`(name, time, time2)
select 'y', val, val
from (select 'x' as val) t;
当然,在这种情况下,这不会保存任何打字。
no,您必须为每列分开指定一个值。
我可以为您的情况提供的唯一建议是编写触发器,将time
列的值复制到time2
。但是,除非您经常这样做,否则为这种情况写一个触发因素可能是不值得的。