开发指南—常见问题—DDL常见问题

本文涉及的产品
云原生数据库 PolarDB 分布式版,标准版 2核8GB
简介: 本文汇总了PolarDB-X上常见的DDL执行问题。

创建表执行出错

DDL的执行是一个分布式处理过程,出错可能导致各个分片表结构不一致,所以需要进行手动清理,详细操作步骤如下:

  1. PolarDB-X会提供基本的错误描述信息,比如语法错误等。如果错误信息太长,则会提示您使用SHOW WARNINGS来查看每个分库执行失败的原因。
  2. 执行SHOW TOPOLOGY命令来查看物理表的拓扑结构。
SHOW TOPOLOGY FROM multi_db_multi_tbl;
 +------+-----------------+-----------------------+
 | ID   | GROUP_NAME      | TABLE_NAME            |
 +------+-----------------+-----------------------+
 |    0 | corona_qatest_0 | multi_db_multi_tbl_00 |
 |    1 | corona_qatest_0 | multi_db_multi_tbl_01 |
 |    2 | corona_qatest_0 | multi_db_multi_tbl_02 |
 |    3 | corona_qatest_1 | multi_db_multi_tbl_03 |
 |    4 | corona_qatest_1 | multi_db_multi_tbl_04 |
 |    5 | corona_qatest_1 | multi_db_multi_tbl_05 |
 |    6 | corona_qatest_2 | multi_db_multi_tbl_06 |
 |    7 | corona_qatest_2 | multi_db_multi_tbl_07 |
 |    8 | corona_qatest_2 | multi_db_multi_tbl_08 |
 |    9 | corona_qatest_3 | multi_db_multi_tbl_09 |
 |   10 | corona_qatest_3 | multi_db_multi_tbl_10 |
 |   11 | corona_qatest_3 | multi_db_multi_tbl_11 |
 +------+-----------------+-----------------------+
 12 rows in set (0.21 sec)
  1. 执行CHECK TABLE tablename语句来查看逻辑表是否创建成功。例如下面的例子展示了multi_db_multi_tbl的某个物理分表没有创建成功时的情况。
mysql> check table multi_db_multi_tbl;
+-------------------------------------------------+-------+----------+---------------------------------------------------------------------------+
| TABLE                                           | OP    | MSG_TYPE | MSG_TEXT                                                                  |
+-------------------------------------------------+-------+----------+---------------------------------------------------------------------------+
| andor_mysql_qatest. multi_db_multi_tbl | check | Error    | Table 'corona_qatest_0. multi_db_multi_tbl_02' doesn't exist |
+-------------------------------------------------+-------+----------+---------------------------------------------------------------------------+
1 row in set (0.16 sec)
  1. 使用幂等的方式重新执行建表或删表操作,该操作会创建或删除剩余的物理表。
CREATE TABLE IF NOT EXISTS table1
(id int, name varchar(30), primary key(id))
dbpartition by hash(id);  
DROP TABLE IF EXISTS table1;

建索引失败或加列失败

建索引失败或加列失败的处理方法跟上面建表失败的处理类似,详情请参见如何正确处理DDL异常

相关实践学习
快速体验PolarDB开源数据库
本实验环境已内置PostgreSQL数据库以及PolarDB开源数据库:PolarDB PostgreSQL版和PolarDB分布式版,支持一键拉起使用,方便各位开发者学习使用。
相关文章
|
8月前
|
SQL 人工智能 分布式计算
Dataphin常见问题之发布报错如何解决
Dataphin是阿里云提供的一站式数据处理服务,旨在帮助企业构建一体化的智能数据处理平台。Dataphin整合了数据建模、数据处理、数据开发、数据服务等多个功能,支持企业更高效地进行数据治理和分析。
|
8月前
|
SQL 分布式计算 安全
DMS产品常见问题之dms任务流报错乱码如何解决
DMS(数据管理服务,Data Management Service)是阿里云提供的一种数据库管理和维护工具,它支持数据的查询、编辑、分析及安全管控;本汇总集中了DMS产品在实际使用中用户常遇到的问题及其相应的解答,目的是为使用者提供快速参考,帮助他们有效地解决在数据管理过程中所面临的挑战。
|
8月前
|
安全 关系型数据库 MySQL
DMS产品常见问题之DMS同步失败如何解决
DMS(数据管理服务,Data Management Service)是阿里云提供的一种数据库管理和维护工具,它支持数据的查询、编辑、分析及安全管控;本汇总集中了DMS产品在实际使用中用户常遇到的问题及其相应的解答,目的是为使用者提供快速参考,帮助他们有效地解决在数据管理过程中所面临的挑战。
|
8月前
|
SQL 安全 数据管理
DMS产品常见问题之DMS里任务执行失败如何解决
DMS(数据管理服务,Data Management Service)是阿里云提供的一种数据库管理和维护工具,它支持数据的查询、编辑、分析及安全管控;本汇总集中了DMS产品在实际使用中用户常遇到的问题及其相应的解答,目的是为使用者提供快速参考,帮助他们有效地解决在数据管理过程中所面临的挑战。
|
3月前
|
存储 Kubernetes 网络协议
K8S常见问题
【10月更文挑战第2天】
268 4
|
8月前
|
SQL 安全 数据管理
DMS产品常见问题之执行任务流时报错如何解决
DMS(数据管理服务,Data Management Service)是阿里云提供的一种数据库管理和维护工具,它支持数据的查询、编辑、分析及安全管控;本汇总集中了DMS产品在实际使用中用户常遇到的问题及其相应的解答,目的是为使用者提供快速参考,帮助他们有效地解决在数据管理过程中所面临的挑战。
|
8月前
|
存储 SQL 分布式计算
ApacheHudi常见问题汇总
ApacheHudi常见问题汇总
117 0
|
8月前
|
SQL 缓存 DataWorks
DataWorks常见问题之用with语句就会报错如何解决
DataWorks是阿里云提供的一站式大数据开发与管理平台,支持数据集成、数据开发、数据治理等功能;在本汇总中,我们梳理了DataWorks产品在使用过程中经常遇到的问题及解答,以助用户在数据处理和分析工作中提高效率,降低难度。
112 2
|
8月前
|
DataWorks 关系型数据库 大数据
DataWorks常见问题之大表实时同步存在bug如何解决
DataWorks是阿里云提供的一站式大数据开发与管理平台,支持数据集成、数据开发、数据治理等功能;在本汇总中,我们梳理了DataWorks产品在使用过程中经常遇到的问题及解答,以助用户在数据处理和分析工作中提高效率,降低难度。
|
8月前
|
自然语言处理 监控 安全