首页 > MySQL更新时Error Code:1093和Error Code:1175的解决办法

MySQL更新时Error Code:1093和Error Code:1175的解决办法

Error Code: 1093. You can't specify target table 'ws_product' for update in FROM clause

这个是我们在使用update或者delete语句时,在where条件里面加入的子查询导致的。例如如下的update语句:

update table set type = 'static' where id in (

select id from ws_product where first_name ='superman'

);



修改上述语句为下面这样,该问题可以解决:

update ws_product set type = 'static' where id in (

select id form (

 select id from ws_product where first_name ='superman'

) xx

);

注意,这样一定要给最里面的子查询定义一个别名,不然会报另外一个错误:

Error Code: 1248. Every derived table must have its own alias





Error Code: 1175. You are using safe update mode and you tried to update a table without a WHERE that uses a KEY column To disable safe mode, toggle the option in Preferences -> SQL Queries and reconnect.

解决办法是在当前session下执行如下的语句

SET SQL_SAFE_UPDATES = 0;

然后再执行Update语句



 

更多相关:

  • Term::ProgressBar 模块是一个可以用于生成进度条的 Perl 模块。安装:cpan -i Term::ProgressBar最小脚本,展示如何最快学会使用该模块:#!/usr/bin/env perluse strict; use warnings; use Term::ProgressBar 2.00;my $max...

  • 当我们勾选了同步(Update Project)弹窗的 “Do not show this dialog in the future(以后不显示此对话框)” 的复选框☑   以后再次使用同步功能(Update Project)时 不会再出现这个弹窗(如下图),这就导致了我们无法修改Update Type和Clean workin...

  • mapper.xml文件,后台传入一个对象集合,另外如果是mysql数据库,一点在配置文件上加上&allowMultiQueries=true,这样才可以执行多条sql,以下为mysql:

  • Time类包含了一个重要的类变量deltaTime,它表示距上一次调用Update或FixedUpdate所用的时间。 因此通过它可以让游戏对象按照一个常速进行旋转,而不是依赖于它的帧频: function Update() {    tranform.Rotate(0, 5 * Time.deltaTime, 0); }  同样地移...

  • 批量更新是指在一个事务中更新大批量数据,批量删除是指在一个事务中删除大批量数据。以下程序直接通过Hibernate API批量更新CUSTOMERS表中年龄大于零的所有记录的AGE字段: 如果CUSTOMERS表中有1万条年龄大于零的记录,那么Session的find()方法会一下子加载1万个Customer对象到内存。当执行tx.c...

  •     先吐为敬!   最近心血来潮研究nodejs如何完成微信支付功能,结果网上一搜索,一大堆“代码拷贝党”、“留一手”、“缺斤少两”、“不说人话”、“自己都没跑通还出来发blog”、“各种缺少依赖包”、“各种注释都没有”、“自己都不知道在写什么”的程序大神纷纷为了增加自己博客一个帖子的名额而发布了各种千奇百�...

  • 阅读ceph源码过程中需要明确当前操作是由哪个线程发出,此时需要根据线程id来确认线程名称 C++获取线程id是通过系统调用来直接获取 函数描述 头文件: 函数名称:syscall(SYS_gettid) 该函数直接返回了一个pid_t int类型的数字,即为当前线程id 此外函数pthread_s...

  • 面试题 分库分表之后,id 主键如何处理? 面试官心理分析 其实这是分库分表之后你必然要面对的一个问题,就是 id 咋生成?因为要是分成多个表之后,每个表都是从 1 开始累加,那肯定不对啊,需要一个全局唯一的 id 来支持。所以这都是你实际生产环境中必须考虑的问题。 面试题剖析 基于数据库的实现方案 数据库自增 id 这个就是说你的...

  • ORM操作    单表、一对多表操作 1 from django.db import models 2 3 4 class UserGroup(models.Model): 5 title = models.CharField(max_length=32) 6 7 8 class UserInfo(m...

  • 建立如下表: 建表语句: class表创建语句 create table class(cid int not null auto_increment primary key, caption varchar(32) not null)engine=innodb default charset=utf8;student表创建语句 c...

  • 零(将字符串转化成数字的函数)       int num = atoi(arr);      该函数具有把字符串转化成整型数的作用。 壹(vim显示行号)       Linux终端下直接输入vim   ~/.vimrc,打开是一个空白的页面,然后进入插入模式,直接输入set nu,然后保存并退出,以      后每次  ...

  • windows下 Source Monitor代码度量工具的使用 引用链接: https://www.cnblogs.com/xuehanyu/p/4520965.html 1.总体介绍 SourceMonitor是一款免费的软件,运行在Windows平台下。它可对多种语言写就的代码进行度量,包括C、C++、C#、Java、V...

  •   python基础知识(二)   (二)常用控制流 1、控制语句 分支语句:起到一个分支分流的作用,类似马路上的红绿灯 循环语句:for while 可以使代码不断重复的执行   2、判断语句:关键字是if..elif..else  a、if条件语句后面可以接比较运算、逻辑运算、成员运算;当if后面的语句满足条件,允许的结果是Tru...

  • 1.Python : 是一门解释型 弱类型 高级开发编程语言. 2.第一个Python程序的编写: print ("hell,world") 3.变量:把程序运行过程中的值储存起来,方便后面的程序调用. 4.变量的命名要求: 1,只能是数字或字母或下划线组成; 2,不能是数字开头,也不能全是数字; 3,不能是Python的关键字; 4...

  • 一 程序的三种基本结构              顺序结构:程序从上往下依次执行,这个叫顺序结构         分支结构:有选择的执行或者不执行某段代码         循环结构:重复的执行某段代码 二 分支结构之if 最简单的俩种用法   (tips: if语句后面的大括号可以省略:如果省略:那么这个if语句只能管理离它最近的那...