【问题标题】:How to insert a row into one table in sql that is exact same as another table but only one column different?如何在sql中的一个表中插入与另一个表完全相同但只有一列不同的行?
【发布时间】:2021-12-14 01:28:54
【问题描述】:

我有一个表,我想插入一个与一行完全相同的新行,除了一个列值不同。

col1 col2 col3
joe  ben  sam

我希望添加的新行的输出是

col1 col2 col3
bob  ben  sam
joe  ben  sam

如您所见,原始列仍然存在,但我们添加了一个新行,其中第一个值从 joe 更改为 bob。

关于最优雅的方式来做到这一点可能没有硬编码的任何想法?我在想可能是基于 select * where 条件的插入,但不确定。任何提示将非常感谢。谢谢!

【问题讨论】:

标签: sql select insert


【解决方案1】:

你可以这样做:

insert into t (col1, col2, col3) select 'joe', col2, col3 from t

【讨论】:

  • 这就是我一直在寻找的东西,非常感谢!我忘了你可以选择这样的值。完美!
  • 具体的数据库这里就不提了,所以语法可能会有些不同。请参阅特定引擎的手册。
猜你喜欢
  • 2015-02-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-11-02
  • 2020-03-11
  • 2017-12-21
  • 2019-08-03
相关资源
最近更新 更多