1
我有一个数据库表DB2
其中有三个primary key
列,所有类型 - VARCHAR
。查询更新主键列值
现在,这些列值可通过应用程序UI中的屏幕编辑。我的问题是关于哪种方法更好,在WHERE
条款
UPDATE
查询与旧的主键列值OR
DELETE
老唱片第一个(在WHERE
旧的主键列值子句),然后将所有来自UI的数据作为新记录。
在UI,其强制提供Primary Key Column
值(默认 - 旧值),但其可选的用户提供新的价值。
无论采取什么方法,都要确保您考虑其他具有外键引用和重复记录的表。 –
我同意丹布拉库克,但如果你采取的解决方案2不要忘记这样做成交易,如果删除工作,但不插入你失去你的日期。通过事务,如果错误可以回滚。注意:对于使用事务,您的表必须有日记 – Esperento57
最好使用单列代理键(序列/ UUID)而不是组合业务密钥。当您不必担心更新其他表中的外键时,这会使更新更加简单。 –