我有一个看起来像这样的表:
property propertyid value
active 1 1
datastore 2 apc
Run Code Online (Sandbox Code Playgroud)
如何在不更新所有行的情况下制定SQL查询来更新几行.IE,如果有6行,更新2,3和4但不是1,5和6?
谢谢.
如果您在具有相同值的所有行上更新的列相同,则可以使用此类查询轻松完成.
UPDATE property SET value=5 where propertyid IN(2,3,4)
Run Code Online (Sandbox Code Playgroud)
这会将值5设置为属性id为2,3或4的所有行.
如果要使用不同的值更新不同的行,我恐怕您必须编写单独的SQL语句.您可以使用CASE语句来提供SQL查询,但使用简单的SQL查询可以实现更高的可读性和可维护性.
假设您正在从应用程序操作数据库,我很确定无论您将使用何种编程语言,都可以轻松编写1个SQL语句并循环,替换值并执行查询或附加所有SQL更新对字符串的语句(循环时)并将其传递给数据库以立即执行.对不起,我不知道是否会对另一方造成重大的性能影响,但我相信一次性执行会对性能产生一些好处.
| 归档时间: |
|
| 查看次数: |
5905 次 |
| 最近记录: |