最新活动:电脑PC端+手机端+微网站+自适应网页多模板选择-建站388元起价!!!
当前位置:主页 > 网站建设 > 执行一条sql语句update多条记录实现思路建站知识

执行一条sql语句update多条记录实现思路建站知识

时间:2023-05-21 21:05:21 阅读: 文章分类: 网站建设 作者: 网站技术员

导读:1建站知识如果你想更新多行数据,并且每行记录的各字段值都是各不一样,你会怎么办呢?本文以一个示例向大家讲解下如何如何seo优化推广网站网站建设。

如何seo优化推广网站网站建设通常情况下,我们会使用以下SQL语句来更新字段值:

复制代码 代码如下:

UPDATE mytable SET myfield='value' WHERE other_field='other_value';

但是,如果你想更新多行数据,并且每行记录的各字段值都是各不一样,你会怎么办呢?举个例子,我的博客有三个分类目录(免费资源、教程指南、橱窗展示),这些分类目录的信息存储在数据库表categories中,并且设置了显示顺序字段 display_order,每个分类占一行记录。如果我想重新编排这些分类目录的顺序,例如改成(教程指南、橱窗展示、免费资源),这时就需要更新categories表相应行的display_order字段,这就涉及到更新多行记录的问题了,刚开始你可能会想到使用循环执行多条UPDATE语句的方式,就像以下的php程序示例:

复制代码 代码如下:

foreach ($display_order as $id => $ordinal) { $sql="UPDATE categories SET display_order = $ordinal WHERE id网seo优化趋势 = $id"; mysql_query($sql); }

这种方法并没有什么任何错误,并且代码简单易懂,但是在循环语句中执行了不止一次SQL查询,在做系统优化的时候,我们总是想尽可能的减少数据库查询的次数,以减少资源占用,同时可以提高系统速度。 幸运的是,还有更好的解决方案,下面列举两种常用的方案只不过SQL语句稍微复杂点,但是只需执行一次查询即可,语法如下: •第一种:IF--THEN语句结合

复制代码 代码如下:

UPDATE mytable SET myfield = CASE other_field WHEN 1 THEN 'value' WHEN 2 THEN 'value' WHEN 3 THEN 'value' END WHERE id IN (1,2,3)

回到我们刚才的分类目录的例子,我们可以使用以下SQL语句:

复制代码 代码如下:

UPDATE categories SET display_order = CASE id WHEN 1 THEN 3 WHEN 2 THEN 4 WHEN 3 THEN 5 END, title = CASE id WHEN 1 THEN 'New Title 1' WHEN 2 THEN 'New Title 2' WHEN 3 THEN 'New Title 3' END WHERE id IN (1,2,3)

以上方案大大减少了数据库的查询操作次数,大大节约了系统资源,但是该怎样与我们的编程语言结合起来呢?我们还是用刚才分类目录的例子,以下是php的程序示例:

复制代码 代码如下:

$display_order = array( 1 => 4, 2 => 1, 3 => 2, 4 => 3, 5 => 9, 6 => 5, 7 => 8, 8 => 9 ); $ids = implode(',', array_keys($display_order)); $sql = "UPDATE categories SET display_order = CASE id "; foreach ($displa网站seo优化诊断工具y_order as $id => $ordinal) { $sql .= sprintf("WHEN %d THEN %d ", $id, $ordinal); // 拼接SQL语句 } $sql .= "END WHERE id IN ($ids)"; echo $sql; mysql_query($sql);

关键词标签: 语句 多条

声明: 本文由我的SEOUC技术文章主页发布于:2023-05-21 ,文章执行一条sql语句update多条记录实现思路建站知识主要讲述多条,语句,执行一条sql语句update多条记录实现思路网站建设源码以及服务器配置搭建相关技术文章。转载请保留链接: https://www.seouc.com/article/web_3972.html

我的IDC 网站建设技术SEOUC.COM
专注网站建设,SEO优化,小程序设计制作搭建开发定制网站等,数千家网站定制开发案例,网站推广技术服务。
  • 5000+合作客服
  • 8年从业经验
  • 150+覆盖行业
  • 最新热门源码技术文章