9

当我通过 Microsoft SQL Server Management Studio Express 查看它时,我有一个 SQL 数据库,其中有一个字段设置为“只读”的表。

我需要手动更改该字段中的一些数据,但我看不到任何可以更改的属性,这些属性可以让我覆盖它。

我是否需要在表上编写一个 sql 脚本来执行此操作,或者我是否缺少某些东西?

4

5 回答 5

7

字段的数据类型是什么?如果它的 ntext 或 image 数据类型和管理工作室无法处理它的大小,您可能无法“输入”它。

在这种情况下,您可能别无选择,只能执行如下更新。

UPDATE TableName SET ColumnName = 'NewValue' WHERE PrimaryKeyId = PrimaryKeyValue
于 2009-05-06T10:01:10.517 回答
2

该字段很可能是“只读”的,因为它包含计算值。

如果是这种情况,您将不得不更改表定义中的计算以更改其值。

于 2009-05-06T10:10:56.373 回答
1

当您将特定字段设置为主键并将其设置为“Is Identity”时会出现此问题,这意味着每当插入时该字段将自动递增......所以最好检查它是否是自动递增与否.. 如果是,则将该属性“Is Idenitity”更改为 false。

于 2015-02-04T04:27:30.637 回答
0

使用触发器以防止此列更新:

CREATE TRIGGER UpdateRecord ON my_table
AFTER UPDATE AS UPDATE my_table
SET [CreatedDate] = ((SELECT TOP 1 [CreatedDate] FROM Deleted d where d.[id]=[id]))
于 2020-01-17T08:28:48.503 回答
0

在我曾经有过的 SQL 查询中,我用来生成要编辑的表的查询包括对“服务器对象”上的表的连接,特别是链接服务器。这将单元格标记为只读,即使我实际上要更改数据的表不在链接服务器上。

我的解决方案:幸运的是,我能够调整查询,所以我不需要使用链接表执行 JOIN,然后我可以编辑单元格。

建议:检查您的查询链接服务器或其他可能锁定您的表的奇怪语句。

于 2019-04-05T20:43:52.707 回答