mysql数据库delete数据时不支持表别名

 今天在帮同事查看一条删除的SQL语句执行出错的问题

  SQL语句如下:

1 DELETE FROM LEAD_SYSTEM_MENU_ORG_REF as t WHERE t.resourceid=‘4028812348f28b890148f29253a80000‘

这条SQL语句放到Oracle数据库中去执行是可以正常执行的,但是放到MySQL数据库中执行时就出现了如下的错误:

1 [Err] 1064 - 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 ‘WHERE t.resourceid=‘4028812348f28b890148f29253a80000‘

  看到"SQL syntax"就知道SQL执行错误的原因是SQL语法不对,这就比较奇怪了,这条删除的SQL横看竖看都没有问题呀,Oracle能够正常执行,为什么MySQL却不行呢,上网查了一下原因,原来是MySQL数据库delete数据时,不支持表别名,这个问题以前也没有注意到,在此记录一下。

时间: 2024-10-27 13:29:03

mysql数据库delete数据时不支持表别名的相关文章

MYSQL数据库导入数据时出现乱码的解决办法

首先在新建数据库时一定要注意生成原数据库相同的编码形式,如果已经生成可以用phpmyadmin等工具再整理一次,防止数据库编码和表的编码不统一造成乱码. 方法一: 通过增加参数 –default-character-set = utf8 解决乱码问题 mysql -u root -p password < path_to_import_file –default-character-set = utf8 方法二: 在命令行导入乱码解决 1. use database_name; 2. set n

Python数据库操作 MySQL数据库与数据表操作#学习猿地

# MySQL数据库与数据表操作 + 数据库的操作 + 数据库创建 + 数据库删除 + 数据表的操作 + 数据表的创建 + 数据表的修改 (表结构) + 数据表的删除 ### 数据库的操作 #### 1.数据库的创建 ```mysql # 链接mysql数据库后,进入mysql后可以操作数据 # 1. 创建库 create database if not exists tlxy default charset=utf8: -- 1. 数据库 tlxy 如果不存在则创建数据库,存在则不创建 --

PHP从零单排(十三)使用PHP显示MySQL数据库的数据

1.在PHP执行SQL语句 要从数据库获得数据,首先PHP要执行一条对表操作的SQL语句,包括SELECT.INSERT.UPDATE或DELETE语句.一般情况下,在PHP中执行SELECT语句,会从表中查找出一些记录行.而执行其他语句,只会返回语句是否执行成功的信息. <?php $host='localhost'; $user_name='root'; $password='helloworld'; $conn=mysql_connect($host,$user_name,$passwor

MySQL数据库的数据文档

在MySQL数据库中,配置文档my.ini默认存放在C:/Program Files/MySQL/MySQL Server 5.5中,打开配置文档找出下面几行信息 #Path to installation directory. All paths are usually resolved relative to this.basedir="C:/Program Files/MySQL/MySQL Server 5.5/"    #数据库的安装路径 #Path to the datab

mysql数据库忘记密码时如何修改(本地)

打开mysql.exe和mysqld.exe所在的文件夹,复制路径地址 2 打开cmd命令提示符,进入上一步mysql.exe所在的文件夹. 3 输 入命令  mysqld --skip-grant-tables  回车,此时就跳过了mysql的用户验证.注意输入此命令之后命令行就无法操作了,此时可以再打开一个新的命令行.注意:在输入此命令之前先在任务管理 器中结束mysqld.exe进程,确保mysql服务器端已结束运行. 然后直接输入mysql,不需要带任何登录参数直接回车就可以登陆上数据库

在mysql数据库中制作千万级测试表

在mysql数据库中制作千万级测试表 前言: 最近准备深入的学一下mysql,包括各种引擎的特性.性能优化.分表分库等.为了方便测试性能.分表等工作,就需要先建立一张比较大的数据表.我这里准备先建一张千万记录用户表. 步骤: 1 创建数据表(MYISAM方式存储插入速度比innodb方式快很多)   数据表描述 数据量:1千万 字段类型: id :编号 uname:用户名 ucreatetime: 创建时间 age:年龄 CREATE TABLE usertb(    id serial,   

MySQL数据库插入中文时出现Incorrect string value: &#39;\xE6\x97\xB7\xE5\x85\xA8&#39; for column &#39;sz_name&#39; at row 1

今天在开发时候出现了这个问题 Incorrect string value: '\xE6\x97\xB7\xE5\x85\xA8' for column 'sz_name' at row 1 场景,往MySQL数据库的表中插入中文参数,抛出了这个异常 我用sqlyog执行该段代码时候发现只是出现警告,并没有出现error,但是在代码里面执行抛出了异常,说明管理工具sqlyog对有些约定不是那么严格,而代码中就会报错.提醒自己,以后写sql时候不能忽略管理工具中出现的警告. 解决方案: 在用sql

mysql导入文件数据时错误: ERROR 29 (HY000): File &#39;xxx.txt&#39; not found (Errcode: 13)

突然遇到mysql错误:ERROR 29 (HY000): File '/var/www/xiaoyou/static/upload/import/20130427105733.csv.txt' not found (Errcode: 13) 感觉特奇怪,因为程序在本地很ok,生气了语句如下: LOAD DATA INFILE '/var/www/upload/abc.csv.txt' INTO TABLE alumni_import FIELDS TERMINATED BY ',' OPTIO

mysql导入大批量数据时,出现ERROR : (2006, &#39;MySQL server has gone away&#39;)

mysql导入数据时,出现ERROR : (2006, 'MySQL server has gone away') 解决方案:官方解释是适当增大 max_allowed_packet 参数可以使client端到server端传递大数据时,系统能够分配更多的扩展内存来处理. 设置 max_allowed_packet = 256M (1024*1024*256) set global max_allowed_packet=268435456; 使用set global命令修改 max_allowe