如果MySQL

时间:2016-02-08 10:07:28

标签: mysql database partitioning

我有下表

id | p_key | col3 | col4
------------------------
 1 | pr1   | c1   | co1  
 2 | pr2   | c2   | co2
 3 | pr3   | c3   | co3

现在我必须在项目键上创建分区,比如

If partition partpr1 not exist
alter table create partition partpr1

我想用p_key创建分区,但想在插入记录之前检查它是否存在,如果它存在,它将插入该分区,否则它将首先创建分区然后插入。

不发布任何代码。因为我能够创建简单的分区,但无法获得任何逻辑来实现所需的场景。

1 个答案:

答案 0 :(得分:2)

根据MYSQL Manual

  

ADD PARTITION和DROP PARTITION目前不支持IF [NOT] EXISTS。

无论如何,你的语法也是错误的,

  

更改表t1添加分区(分区p3值小于(2002));

但是这个页面也in The Manual可能很有用,因为它显示了许多查询MYSQL的方法,然后查看结果以查看是否已存在具有该名称的分区。

通过SHOW命令或直接查询INFORMATION_SCHEMA.PARTITIONS表。