我尝试了两种不同的在线sql表编辑器,
Universal Table Editor& 表智能编辑器
使用上述工具查看数据库时,如果我的表中定义了主键字段,则无法编辑。在开始时,我认为它与表编辑器有关,但是2个不同的编辑器导致了同样的问题,所以我认为它与sql server有关。
我目前正在使用SQL Server 2005。
以下是我的编辑器和我的数据库属性的图像:
答案 0 :(得分:2)
通常,尝试修改数据库值失败时会出现错误消息。消息是什么?
这听起来像主键被设置为自动编号的身份。在这种情况下,该值由数据库在创建每一行时自动确定。而且你无法编辑这个值。
答案 1 :(得分:1)
您使用的编辑器似乎是根据某些假设构建的 - 主键值永远不会改变,而且它们始终是系统生成的。
这两种假设都不是通常为真。虽然通常认为主键值永远不会改变是可取的,但一个好的工具不应该认为这是真的。它也不应该假设主键值总是自动生成。
SQL内置了一些缓解功能来处理做更改的主键 - 尤其是CASCADE
约束的FOREIGN KEY
功能。