我有一个关于我的服务器的权限的表来自我的网站的早期版本,我需要保留它们,但是最新的Web应用程序版本有自己的,可能需要此表中的基本配置。
因此,我需要将vanilla数据导入到我的表中(或者反之,相同的结果),而不会覆盖或跳过现有的主键,这意味着,自动将主键更新为其他未使用的键。这可能吗?怎么样?
答案 0 :(得分:0)
是的,这是可能的。使用像
这样的INSERT INTO .. SELECT FROM
结构
insert into new_table(col1, col2, ...,coln)
select col1, col2, ...,coln from old_table;
没有,只是不要在insert语句中包含您的PK列,因此如果在导入的表中PK是合成或自动递增的列,那么它将自动生成。
答案 1 :(得分:0)
以下是我建议的陈述结构的一个例子 -
INSERT INTO tblNewPermissions ( permissionsID,
oldPermission1,
oldPermission2,
newPermission1,
newPermission2 )
SELECT permissionsID,
permission1,
permission2,
"newPermission1DefaultValue",
"newPermission2DefaultValue"
FROM tblOldPermissions;
注意:您需要确保新表中用于存储旧数据的字段具有匹配的数据类型。
注意:此方法假定主键不是自动增量字段。
如果对此答案有任何问题或意见,请随时发表评论。