PolarDB-X 1.0-用户指南-系统运维-高危类SQL自动保护

简介: 为避免因误操作导致数据丢失,PolarDB-X默认禁止执行高危类SQL,例如全表删除(即不带WHERE或LIMIT条件的DELETE语句)和全表更新(即不带WHERE或LIMIT条件的UPDATE语句)等语句。但您也可以通过HINT语句避开上述自动保护,强制执行全表删除或更新操作。

为避免因误操作导致数据丢失,PolarDB-X默认禁止执行高危类SQL,例如全表删除(即不带WHERE或LIMIT条件的DELETE语句)和全表更新(即不带WHERE或LIMIT条件的UPDATE语句)等语句。但您也可以通过HINT语句避开上述自动保护,强制执行全表删除或更新操作。

语句

您可以在UPDATE或DELETE语句中加上如下HINT执行全表删除或更新:


HINT:/!TDDL:FORBID_EXECUTE_DML_ALL=false*/

示例

  • 若DELETE语句中未加任何WHERE或LIMIT条件,执行时会被拦截且出现如下错误提示:
mysql> delete from tt;
ERR-CODE: [TDDL-4620][ERR_FORBID_EXECUTE_DML_ALL] Forbid execute DELETE ALL or UPDATE ALL sql. More: [http://middleware.alibaba-inc.com/faq/faqByFaqCode.html?faqCode=TDDL-4620]
  • 在上述语句中加上如下HINT则可成功执行:
mysql> /!TDDL:FORBID_EXECUTE_DML_ALL=false*/delete from tt;
Query OK, 10 row affected (0.21 sec)
  • 若UPDATE语句中未加任何WHERE或LIMIT条件,执行时会被拦截且出现如下错误提示:
mysql> update tt set id = 1;
ERR-CODE: [TDDL-4620][ERR_FORBID_EXECUTE_DML_ALL] Forbid execute DELETE ALL or UPDATE ALL sql. More: [http://middleware.alibaba-inc.com/faq/faqByFaqCode.html?faqCode=TDDL-4620]
  • 在上述语句中加上如下HINT则可成功执行:
mysql> /!TDDL:FORBID_EXECUTE_DML_ALL=false*/update tt set id = 1;
Query OK, 10 row affected (0.21 sec)
相关文章
|
SQL 运维 监控
Clickhouse运维之你最需要知道的SQL总结
Clickhouse运维之你最需要知道的SQL总结
Clickhouse运维之你最需要知道的SQL总结
|
存储 运维 关系型数据库
开源新发布|PolarDB-X v2.4.1 增强企业级运维能力
PolarDB-X 是阿里云推出的云原生分布式数据库,自2021年10月开源以来,持续迭代升级,至2024年4月发布的v2.4.1版本,重点增强了企业级运维能力,如无锁变更、物理扩缩容、数据TTL等,提供金融级高可用、透明分布式、HTAP一体化等特性。PolarDB-X 支持集中式和分布式一体化形态,兼容MySQL生态,适用于金融、通信、政务等行业。
2390 101
|
SQL 运维 关系型数据库
MySQL 运维 SQL 备忘
MySQL 运维 SQL 备忘录
361 1
|
SQL 运维 监控
SQL Server 运维常用sql语句(二)
SQL Server 运维常用sql语句(二)
350 3
|
SQL XML 运维
SQL Server 运维常用sql语句(三)
SQL Server 运维常用sql语句(三)
367 1
|
SQL 运维 Linux
SQL基础(1),从三流Linux运维外包到秒杀阿里P7,
SQL基础(1),从三流Linux运维外包到秒杀阿里P7,
|
SQL Java 大数据
开发与运维应用问题之大数据SQL数据膨胀如何解决
开发与运维应用问题之大数据SQL数据膨胀如何解决
290 0
|
SQL 人工智能 运维
运维面试,遇到的SQL笔试题
运维面试,遇到的SQL笔试题
436 2
|
运维 负载均衡 分布式数据库
《PolarDB-X开源分布式数据库实战进阶》——PolarDB-X的部署与运维(8)
《PolarDB-X开源分布式数据库实战进阶》——PolarDB-X的部署与运维(8)
423 1
|
SQL 存储 Linux
【SQL Server】 Linux 运维下对 SQL Server 进行安装、升级、回滚、卸载操作
SQLServer 虽然是微软开发的,但是目前已经支持 Windows、Linux、MACOS等。本文详细介绍在 Linux 环境下,如何对 SQL Server 进行安装、升级、回滚、卸载等操作。
1258 0
【SQL Server】 Linux 运维下对 SQL Server 进行安装、升级、回滚、卸载操作

热门文章

最新文章

相关产品

  • 云原生分布式数据库 PolarDB-X