到目前为止,我有一张表没有唯一的密钥。这个表工作正常,但插入/更新/删除程序的代码有点不可读,因为识别表中正确条目的条件越来越长,所以我开始考虑添加一个带有唯一ID的新列
已经回答了有关在SO上向表添加唯一标识的问题,但我想知道它是否会对当前存在的记录产生任何负面影响。表本身并不大,它从来没有超过几千个条目,但它经常被使用和更新,并且停止使用它不是一件容易的事。那么有什么我应该知道的可能会弄乱数据,或者我可以高兴地添加一个具有唯一标识的列,一切都会正常工作吗?当前存在的存储过程是否存在任何问题,尤其是那些改变记录的存储过程?说实话,我想不出任何事情,但我宁愿确定,因为我远没有体验过SQL和数据库。
将索引添加到已存在的表中也是如此 - 我想会有一些转移涉及,所以对记录有任何负面影响吗?
如果您需要我提到的过程的示例,只需考虑简单的插入/删除/更新语句,并在where子句中使用不必要的长度。没有与其他表连接,在单个过程中没有多个事务。
答案 0 :(得分:1)
添加列或更改索引不会影响当前数据。
但代码可能会受到影响。
SELECT *
现在会返回更多列。INSERT
没有列列表。那现在会失败。我确定还有其他人,但这些是我现在能想到的。