分类: Mysql/postgreSQL
2017-08-03 15:19:37
公司的一套老Atlas执行delete时报如下错误
mysql> delete from sdb_jos_order_js t ;
ERROR 1105 (07000): Proxy Warning - Syntax Forbidden
猜测atlas对删除全表的操作做了限制。尝试加上limit限制删除的条数,依然报错
mysql> delete from sdb_jos_order_js t limit 1;
ERROR 1105 (07000): Proxy Warning - Syntax Forbidden
看来也可能是没有where条件造成的,添加伪where条件测试,删除成功。
mysql> delete from sdb_jos_order_js t where 1=1 limit 1;
Query OK, 1 row affected (0.00 sec)
总结:
Atlas为了避免用户误删数据,要求delete语句中必须含有where条件才可以正常执行。
我们有时需要删除整张表,那么可以通过添加伪where条件来实现。