ICode9

精准搜索请尝试: 精确搜索
首页 > 数据库> 文章详细

mysql-我无法在sql删除中使用别名

2019-10-30 16:15:19  阅读:245  来源: 互联网

标签:sql-delete sql mysql


我试过执行这个SQL语句

delete 
        from reclamo r
        where exists ( select 1 from reclamo r
                        join cliente c on r.cod_cliente = c.cod_cliente
                        join localidad l on c.cod_localidad = l.cod_localidad
                        where l.descripcion = 'San Justo');

用于删除“圣胡斯托”镇的客户提出的所有索赔
但显示“错误代码:1064.您的SQL语法有错误;请查看与您的MySQL服务器版本相对应的手册,以获取在’r’附近使用的正确语法
        存在的地方(从撤回中选择1
                        在第2行的r.cod_cliente’上加入cliente c“
 有人知道我该如何解决这些错误?

sqlfiddele这里:http://sqlfiddle.com/#!2/b2771

解决方法:

如果您使用别名…,您必须告诉您实际删除的内容(可能是因为表别名通常仅在多种表语法中才需要…您可以完全省略别名):

mysql> delete from tablename r;
ERROR 1064 (42000): 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 'r' at line 1
mysql> delete r from tablename r;
Query OK, 0 rows affected (0.00 sec)

参见ALS the manual

Note
If you declare an alias for a table, you must use the alias when referring to the table:
DELETE t1 FROM test AS t1, test2 WHERE …

标签:sql-delete,sql,mysql
来源: https://codeday.me/bug/20191030/1969070.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有