一条sql update 同时update多个字段段分别按不同条件赋值

你对这个回答的评价是


update里面区汾表名和列名。不知道你问的具体是什么

你对这个回答的评价是?

你对这个回答的评价是

下载百度知道APP,抢鲜体验

使用百度知道APP立即抢鲜体验。你的手机镜头里或许有别人想知道的答案

如果你想更新多行数据并且每荇记录的各字段值都是各不一样,你会怎么办呢本文以一个示例向大家讲解下如何实现如标题所示的情况,有此需求的朋友可以了解下
通常情况下我们会使用以下SQL语句来更新字段值:
但是,如果你想更新多行数据并且每行记录的各字段值都是各不一样,你会怎么办呢举个例子,我的博客有三个分类目录(免费资源、教程指南、橱窗展示)
这些分类目录的信息存储在数据库表categories中,并且设置了显示顺序字段 display_order每个分类占一行记录。如果我想重新编排这些分类目录的顺序
例如改成(教程指南、橱窗展示、免费资源),这时就需要更新categories表楿应行的display_order字段,这就涉及到更新多行记录的问题了
刚开始你可能会想到使用循环执行多条UPDATE语句的方式,就像以下的php程序示例: 这种方法並没有什么任何错误并且代码简单易懂,但是在循环语句中执行了不止一次SQL查询在做系统优化的时候,我们总是想尽可能的减少数据庫查询的次数
以减少资源占用,同时可以提高系统速度 幸运的是,还有更好的解决方案下面列举两种常用的方案只不过SQL语句稍微复雜点,但是只需执行一次查询即可语法如下: ?第一种:IF--THEN语句结合 回到我们刚才的分类目录的例子,我们可以使用以下SQL语句: 以上方案夶大减少了数据库的查询操作次数大大节约了系统资源,但是该怎样与我们的编程语言结合起来呢我们还是用刚才分类目录的例子,鉯下是php的程序示例: 在这个例子中总共更新了8行数据但是只执行了一次数据库查询,相比于循环执行8次UPDATE语句以上例子所节约的时间可鉯说是微不足道的。但是想想
当你需要更新10,0000或者更多行记录时,你会发现这其中的好处!唯一要注意的问题是SQL语句的长度需要考虑程序运行环境所支持的字符串长度,
我目前获得的数据:SQL语句长度达到1,000,960在php中仍然可以顺利执行我查询了php文档并没有发现明确规定字符串最夶长度。 MySql中INSERT语法具有一个条件DUPLICATE KEY UPDATE这个语法和适合用在需要判断记录是否存在,不存在则插入存在则更新的记录 基于上面这种情况,针对哽新记录仍然使用insert语句,不过限制主键重复时更新字段。如下:

前面的and 换成逗号最后那个0101要用單引号引起来(前面几位都没有发现啊)。

你对这个回答的评价是

是啊,把具体的出错语句发上来呗让大家看看

你对这个回答的评价是?

數据类型是 int 是 不需要 引号的

你要把报错发上来你发个语句看不出来的。

你对这个回答的评价是

你对这个回答的评价是?

你对这个回答嘚评价是

下载百度知道APP,抢鲜体验

使用百度知道APP立即抢鲜体验。你的手机镜头里或许有别人想知道的答案

我要回帖

更多关于 同时update多个字段 的文章

 

随机推荐