`
personbeta
  • 浏览: 159921 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

delete 与 left join的问题

阅读更多
LEFT JOIN 的一个问题解决办法

今天在一个程序后台删除一个东西的时候,却出现了这个问题:


System Message: MySQL Query Error

User: admin
Time: 2007-10-20 21:08:48
Script: /k/admincp.php

[u]SQL: DELETE FROM table1 T LEFT JOIN table2 F USING(id) where F.typeid=1[/u]

Error: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'LEFT JOIN table2 F USING(id) where F.typeid=1' at line 1
Errno: 1064


在GOOGLE搜索了大约1个小时后,终于在一个国外网站上找到了原因,解决起来非常简单,TYYD

只需把如下sql:
DELETE FROM table1 T LEFT JOIN table2 F USING (id) where F.typeid=1
修改为如下sql:
DELETE T.* FROM table1 T LEFT JOIN table2 F USING(id) where F.typeid=1


增加一个T.*就搞定啦。。不容易啊

故障分析:因为insert、update、和delete三个参数,都只能针对一个表操作

这次的delete因为使用了left join,因此让程序造成是delete是对两个表进行操作,因此出现了这个问题。
分享到:
评论
1 楼 yunmoxue 2017-05-17  
hhh, 谢谢哥

相关推荐

    优化临时表使用,SQL语句性能提升100倍

     SELECT DISTINCT g.*, cp.name AS cp_name, c.name AS category_name, t.name AS type_name FROMgm_game g LEFT JOIN gm_cp cp ON cp.id = g.cp_id AND cp.deleted = 0 LEFT JOIN gm_category c ON c.id = g....

    一个通用的访问不同数据源(如MSSql, Postgree, FireBird等)的数据访问层类库源码

    一个通用的访问不同数据源(如MSSql, Postgree, FireBird等)的数据访问层类库源码。

    Yii使用DeleteAll连表删除出现报错问题的解决方法

    本文实例讲述了Yii使用DeleteAll连表删除出现报错问题的解决方法。分享给大家供大家参考,具体如下: 删除数据的时候,经常会遇到连联判断删除数据的条件,今天用Yii 的CDbCriteria生成关连条件。批量删除的时候...

    Mysql中Join的使用实例详解

    以下我们将演示MySQL LEFT JOIN 和 JOIN 的使用的不同之处。 在命令提示符中使用JOIN 我们在RUNOOB数据库中有两张表 tcount_tbl 和 runoob_tbl。两张数据表数据如下: 实例 尝试以下实例: root@host# mysql -u roo

    SQL 语法 SQL 总结 SQL教程

    SQL Left Join SQL Right Join SQL Full Join SQL Union SQL Select Into SQL Create DB SQL Create Table SQL Constraints SQL Not Null SQL Unique SQL Primary Key SQL Foreign Key SQL Check SQL ...

    在MySQL中使用JOIN语句进行连接操作的详细教程

    在MySQL中联接(join)行为是指两个或多个表到一个表中可以使用连接在SELECT,UPDATE和DELETE语句中加入MySQL表。我们将看到一个例子LEFT JOIN简单的MySQL连接。 在命令提示符使用联接: 假设我们两个表的教程tcount_...

    Sql 语句详解

    18. SQL LEFT JOIN 关键字 23 19. SQL RIGHT JOIN 关键字 24 20. SQL UNION 和 UNION ALL 操作符 26 21. SQL SELECT INTO 语句 28 22. SQL CREATE DATABASE 语句 29 23. SQL CREATE TABLE 语句 29 24. SQL 约束 ...

    MySQL 连接的使用

    MySQL 连接的使用 在前几章节中,我们已经学会了如何在一张表中读取数据,这是相对简单的,但是在真正的应用中经常需要从多个数据表中读取数据。 本章节我们将向大家介绍如何...RIGHT JOIN(右连接): 与 LEFT JOIN 相

    开发人员的 MySQL 教程.zip

    还将了解高级数据查询技术,包括INNER JOIN,LEFT JOIN,子查询,UNION等。 参考阅读:http://www.yiibai.com/mysql/basic-mysql.html 第二章 常用技巧 本节将提供一些高级的 MySQL 技术和技巧,以帮助您有效解决 ...

    HelloData数据库框架v1.1

    action.AddJoin(ViewJoinEnum.leftjoin, "cms_user", "cms_manager", field); } action.SqlWhere(cms_user.Columns.username, "admin"); action.SqlWhere(cms_user.Columns.password, "123456"); PageList...

    SQL语句生成及分析器(中文绿色)

    3.7.1 SQL 92 标准:Inner Join、Left Join、Right Join、Full Join, 3.7.2 特殊语法:*=、=*、*=*(MS_SQL,Sybase),(+)(Oracle) 3.8 联合 (Union [All],Minus,Intersect) 3.9 字段别名,数据表别名 ...

    基于【MySQL】的【SQL核心语法】实战演练(一)

    文章目录说明必知必会建表多行插入LIMIT语句创建新表LIKE操作符IN操作符BETWEEN操作符AS操作符INSERT INTO SELECT语句JOIN语句INNER JOINLEFT JOINRIGHT JOINFULL JOINUNION操作符约束相关CREATE INDEX语句完美退出...

    sql语句生成与分析器.rar

    3.7.1 SQL 92 标准:Inner Join、Left Join、Right Join、Full Join, 3.7.2 特殊语法:*=、=*、*=*(MS_SQL,Sybase),(+)(Oracle) 3.8 联合 (Union [All],Minus,Intersect) 3.9 字段别名,数据表别名 ...

    sql 游标、存储过程

    left join t_using_desk b on a.id = b.desk_id go --新建台号时向 t_using_desk 插入记录 --台号显示的时候查 v_desk --去掉表 t_dish_orderedNumber --t_order有些字段改为float --t_order_temp增加 price ...

    mysql删除重复记录语句的方法

    例如: id name value 1 a pp 2 a pp 3 b iii 4 b pp 5 b pp 6 c pp 7 c pp 8 c iii ...select max([id]) from YourTable group by (name + value)) 方法2 delete a from 表 a left join( select (id) from 表 group b

    我的 ORM 框架

    SELECT 语句支持 INNER JOIN、LEFT OUTER JOIN 和RIGHT OUTER JOIN 多表联合查询,但不支持同一表的联合查询。 代码中只实现了 SQL Server 的相关操作。其它数据库可以扩展。 希望 CSDN 中的大神给我一些建议。小弟...

    Mysql DBA 20天速成教程

    基本sql 语法:select/insert/update/delete,掌握最基本的语法即可,什么inner join,left join的了解就行 mysql的应用场景大多都是高并发访问/业务逻辑简单,join/子查询/视图/触发器 基本上不用10.sql 聚集查询:...

    删除父节点下的子节点 存储过程版 新手需多看几遍

    select a.ml_id,a.parent_id,@level from dbo.T_TEMP_MuLu a left join @t b on a.parent_id=b.ml_id where b.level=@level-1 end return end delete dbo.T_TEMP_MuLu where ml_id in (select ml_id ...

    MySQL面试题

    左连接又称为左外连接,是外连接中的一种,他的关键字是 left join on/left outter join on 在两个表的查询中,左连接时左表的记录会全部表示出来,而右表只会显示符合搜索条件的记录,右表记录不足的地方均为NULL ...

    通过参数生成MYSQL语句的PHP类 v1.4.rar

    下面这个类可以通过具有参数的数组来构建MySQL查询语句,通过指定的表和字段参数创建SELECT ,INSERT , UPDATE和DELETE语句,创建SQL语句的WHERE条件,像LIKE的查询语句,使用LEFT JOIN和ORDER 语句。

Global site tag (gtag.js) - Google Analytics