Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C#用station更新我的数据库_C#_Sql Update_Primary Key - Fatal编程技术网

C#用station更新我的数据库

C#用station更新我的数据库,c#,sql-update,primary-key,C#,Sql Update,Primary Key,如何在主键的帮助下更新表中的列值? 或者我可以以某种方式覆盖主键吗?主键是唯一的,因此您无法更改它。如果要使用主键更新值,则可以。但是您无法更新主键。这个问题听起来像是您试图进行另一次插入而不是更新 如果你正在做 insert into table (col1, col2, col3) values ('primaryKeyValue', 'col2val', 'col3val') 然后你尝试做同样的事情,这会因为主键约束而失败 你应该做什么 update table set col1 = '

如何在主键的帮助下更新表中的列值?
或者我可以以某种方式覆盖主键吗?

主键是唯一的,因此您无法更改它。如果要使用主键更新值,则可以。但是您无法更新主键。

这个问题听起来像是您试图进行另一次插入而不是更新

如果你正在做

insert into table (col1, col2, col3) values ('primaryKeyValue', 'col2val', 'col3val')
然后你尝试做同样的事情,这会因为主键约束而失败

你应该做什么

update table set col1 = 'newValue', col2 = 'newValue2' where 'primaryKeyValue' = 'primaryKeyValue'
使用更新查询:

update tablename set column1 = 'new1', column2 = 'new2', 'primaryKey' = 'newPKValue' where 'primaryKey' = 'PKValue';

只有一件事要记住,“newPKValue”不应该重复。

你的问题太复杂了。你试过什么吗!?您如何访问数据库?可以在C#中创建update语句并将其传递到数据库。要更新其他列还是主键值本身?请正确解释您的问题。您是如何连接到数据库的?你是如何尝试更新的?您可以向我们展示一些您试图实现这一点的代码吗?我有主键,我想用主键更新其他列。@MagicMike:-还请注意,有些人可能会通过临时删除约束为您提供更新主键的解决方法,但这不是一个好的做法,您应该始终避免。您可以更新主键“SET IDENTITY_INSERT[TABLE]ON”,而不是添加duplicates@DieterB
设置标识\u仅当PK列是标识时才需要插入
。否则,只要其他表中没有其他记录引用PK,就可以像任何其他列一样更新PK。