将数据从一个现有行复制到另一个行

时间:2010-10-30 05:09:36

标签: sql database

我有一个用于存储状态和注释的表。还有一些列。现在每次发布一个新注释我需要在该表中插入一个新行(更改仅在注释字段,状态和所有其他列值将保持原样)。这样做的最佳方式是什么?

2 个答案:

答案 0 :(得分:3)

假设您正在使用某种SQL方言,您可以执行以下类似的操作:

INSERT INTO table (comment, otherCol1, otherCol2, otherCol3)
SELECT 'Some comment', otherCol1, otherCol2, otherCol3 FROM table
WHERE id=existingRowId;

这将插入一个新行,其中包含注释“Some comment”以及从现有行复制的(otherCol1,otherCol2,otherCol3)的值。现有行不会被删除。

这是你要求的吗?

答案 1 :(得分:1)

最好的方法是将此表拆分为2个表。一个表用于存储所有记录(具有ID值)的常用值,另一个表用于存储第一个表中的Comment,Status和ID值。它的标准化设计满足您的要求。