我想要更新记录,但我也想保留旧记录。例如,如果我有一个记录名=“a”,那么我想用“b”更新名称,但我也想保留旧名称=“a”。简单地说我想保留name =“a”和“b”
答案 0 :(得分:0)
我需要维护另一个日志表。对于表中的每个更新事务,您需要将旧记录的副本移动到日志表。别忘了删除日志表中的主键。我将保留所有记录相同的主键。
答案 1 :(得分:0)
保持旗帜。添加名为isValid
的列包含布尔值。当您插入名为" a"的新记录时,请将该记录isValid
设为true
。每当您更新" a"的名称时到" b",插入该记录" b"使用isValid
值true
并将记录"" isValid
标记为false
。
因此,您可以通过使用isValid
条件true
来获取有效的新信息,同时保留旧记录。希望这会有所帮助。
答案 2 :(得分:0)
你可以这样试试。
UPDATE tableName SET columnName=CONCAT(oldValue, ', newValue') WHERE conditionColumn=coulmnValue;
注意:强> 这不是一个好的做法。您最好创建另一个别名表,以保持现有数据的安全使用。