当前位置: 首页 > news >正文

wordpress花园网站网站怎么优化推广

wordpress花园网站,网站怎么优化推广,聊城网站建设找谁,办公管理系统文章目录 一、发现问题二、场景1:在where条件中查询了修改表的数据三、场景2:在set语句中查询了修改表的数据 一、发现问题 在一次准备处理历史数据sql时,出现这么一个问题:You cant specify target table 表名 for update in FR…

文章目录

  • 一、发现问题
  • 二、场景1:在where条件中查询了修改表的数据
  • 三、场景2:在set语句中查询了修改表的数据

一、发现问题

在一次准备处理历史数据sql时,出现这么一个问题:You can't specify target table '表名' for update in FROM clause,大致的意思就是:不能在同一张表中先select再update。

在此进行一下复盘沉淀,使用测试sql复现当时的场景(mysql是8版本),准备测试数据:

CREATE TABLE `student` (`id` int NOT NULL,`name` varchar(255) DEFAULT NULL,`address` varchar(255) DEFAULT NULL,PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;INSERT INTO `athena_opencourse`.`student`(`id`, `name`, `address`) VALUES (1, '张三', '北京');
INSERT INTO `athena_opencourse`.`student`(`id`, `name`, `address`) VALUES (2, '李四', '上海');

二、场景1:在where条件中查询了修改表的数据

update student set address = '杭州'
where id in (select id from student where name = '张三');delete from  student
where id in (select id from student where name = '张三');

此时会提示:1093 - You can’t specify target table ‘student’ for update in FROM clause

解决方式:在where子句中再加一层,使其成为临时表:

update student set address = '杭州'
where id in (select tmp.id from (select id from student where name = '张三') tmp);

三、场景2:在set语句中查询了修改表的数据

update student set address = (select address from student where name = '李四')
where name = '张三';

此时,一样的报错:> 1093 - You can’t specify target table ‘student’ for update in FROM clause

解决方式同上,查询时再加一层,使其成为临时表:

update student set address = (select tmp.address from (select address from student where name = '李四') tmp)
where name = '张三';

或者使用update join的方案:

update student s1 ,student s2 
set s1.address = s2.address
where s1.name = '张三' and s2.name = '李四';

惊呆了有木有!使用update join语法,可以很轻松的实现跨表的数据修改。

当然,上面的例子中,两个表之间的数据并没有关联关系,如果有关联关系的话,比如说同一个id更新相同的数据,可以使用left join on的语法:

update student s1 
left join student s2 on s1.id = s2.id
set s1.address = s2.name;

http://www.shuangfujiaoyu.com/news/8515.html

相关文章:

  • 网站建设方案前言网站网络营销
  • 购物网站设计开题报告百度区域代理
  • 德州聊城网站建设视频外链在线生成
  • 找券网站怎么做来几个关键词兄弟们
  • 西安模板建站公司杭州网站优化体验
  • 自己做网站需要什么程序女教师遭网课入侵直播录屏曝光8
  • 建设学校网站的报告网站优化与seo
  • 做新闻类网站还有市场吗怎么优化电脑系统
  • 我要创业找项目优化推广
  • 宝鸡免费做网站公司google搜索引擎入口网址
  • 做网站用到的技术页优化软件
  • jquery个人网站开发seo对网络推广的作用是什么?
  • 漫画风格网站邵阳网站seo
  • 网站开发主要运用什么技术上海seo推广
  • 动态网站开发php实训报告阿里云万网域名购买
  • 北京网站设计学习百度开户资质
  • 轩与巧之歌wordpress九江seo公司
  • 网站开发人员岗位分布说明潍坊网站收录
  • 做哪种网站赚钱国内新闻今日头条
  • 这么做国外网站的国内镜像站福州网站建设
  • 中国建设工程质量安全管理协会网站武汉千锋教育培训机构怎么样
  • jquery在网站开发实例运用seo网站推广经理
  • 做网站的公司经营范围怎么写网络推广工作内容
  • 山东网站营销优化开发百度平台电话
  • 自己做网站的域名河南郑州网站推广优化
  • 杭州网站建设公司联系方式河南网站推广那家好
  • 大型网站url深圳大鹏新区葵涌街道
  • 个人网站 内容建设中视频自媒体平台注册
  • 网站优化怎么做百度一下打开网页
  • 福州网站公司sem培训班培训多少钱