Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/72.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
Asp.net 仅更新新记录sql_Asp.net_Sql_Sql Server_Tsql - Fatal编程技术网

Asp.net 仅更新新记录sql

Asp.net 仅更新新记录sql,asp.net,sql,sql-server,tsql,Asp.net,Sql,Sql Server,Tsql,表1: ID Name Number 1 James 2344 如果我写 updatetable(Name,Number)set Name=“James”,Number=“11111” 现在Name=James保持不变,数字是新的。。。但当触发器启动时,它会将所有字段显示为已更新 UPDATE tableName SET Number = 11111 WHERE Name = 'James' 你应该有一个WHERE子句条件,这样只有James才会被更新。就好像我知道你会

表1:

ID    Name   Number
1    James    2344
如果我写

updatetable(Name,Number)set Name=“James”,Number=“11111”

现在Name=James保持不变,数字是新的。。。但当触发器启动时,它会将所有字段显示为已更新

UPDATE tableName
SET Number = 11111
WHERE Name = 'James'

你应该有一个
WHERE
子句条件,这样只有
James
才会被更新。

就好像我知道你会首先检查表中的数据是否存在以及是否相同一样。 但是,如果您对所有人进行
UPDATE
,那么它将是相同的;如果用户名是
TIM
,并且当
UPDATE
时,它将是相同的
TIM
,只需先运行一个sql进行检查

你的更新看起来有问题

试着这样做

   UPDATE tablename SET number = 11111, SET name = 'James' WHERE ID = 1
这样,它将更新
number
,但name将保持
James

  • 更新
    将仅更新更改的值
编辑: 在插入之前,必须先选择其gona


我认为它值得更改,但可能不值得在插入前进行选择。

我只想更新新字段。。有什么方法可以在sqlserver中检查这一点吗?新行是什么意思?你是如何识别新行的?这是一项棘手的任务-你必须在更新之前检查字段是否已更改。我的意思是,我有一个场景,在这个场景中,我用一个复选框更新网格,我想知道哪个字段只被更新。。。我必须对所有字段使用update语句,但所有字段都没有新值。。。你找到我了吗?然后你需要所有选中网格行的键来更新行,获取所有选中行的DataKeyNames值并更新数据。但是当你有一个触发器时。。。如果更新(StudentName)“签入触发器”在asp.net/sql问题中发布php答案,您将得到两个字段的更新,如下所示:?你能用asp.net解释你的答案吗