在SQLSERVER中update更新多列怎么办?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在SQLSERVER中update更新多列怎么办?相关的知识,希望对你有一定的参考价值。

参考技术A 在set后边将需要更新的列通过逗号隔开就可以,例如:
updateperson
setname=\'小二\',age=\'55\'
wherei_id=1

MYSQL 使用变量更新多列

【中文标题】MYSQL 使用变量更新多列【英文标题】:MYSQL Updating multiple columns using variables 【发布时间】:2011-10-09 13:39:56 【问题描述】:

我使用这个查询将我所有的值插入到这个数据库中:

INSERT INTO products ($fields) VALUES ($values)

但是,我尝试对 UPDATE 使用相同的格式:

UPDATE products SET ($fields) VALUES ($values) WHERE sku = '$checksku'

...并且出现语法错误:

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '('product,make,model,' at line 1

我想不通。将不胜感激任何帮助。谢谢。

【问题讨论】:

MySQL 文档非常有用:UPDATE Syntax 【参考方案1】:

你需要一个 =

UPDATE products SET ($fields) = $values WHERE sku = '$checksku'

【讨论】:

这不是有效的 MySQL 语法。【参考方案2】:

UPDATE 语法与 INSERT 语法不同。 UPDATE 的一个例子是:

"UPDATE products SET field1 = 'value1', field2 = '$val2', field3 = 5 WHERE sku = '$checksku'"  

虽然这可能不安全。你应该看看parameterized queries。

【讨论】:

我基本上最终使用了这个,只是对我不得不做 23 次(字段数量)感到失望【参考方案3】:
INSERT INTO products ($fields) VALUES ($values) ON DUPLICATE KEY UPDATE field = VALUES(field), ...

不要忘记唯一键或主键

【讨论】:

以上是关于在SQLSERVER中update更新多列怎么办?的主要内容,如果未能解决你的问题,请参考以下文章

SQLserver DTS 中怎么更新资料(就是不存在则insert存在则update)?

如何向SQLSERVER中表中的一列update成随机数?

SQL里怎么用UPDATE 更新大量SELECT 数据

sql查询 更新语句怎么写

sqlserver中怎么去掉单引号

MYSQL 使用变量更新多列