首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MySQL修改表分区语法

MySQL修改表分区语法
EN

Stack Overflow用户
提问于 2011-12-31 20:50:44
回答 1查看 16.3K关注 0票数 0

我尝试用以下代码修改表,从而在MySQL中进行表分区:

代码语言:javascript
复制
ALTER TABLE tt DROP PRIMARY KEY, ADD PRIMARY KEY(id, st);
ALTER TABLE tt ADD PARTITION BY LIST(st) (
    PARTITION p0 VALUES IN (20,10),
    PARTITION p1 VALUES IN (0,-10)
);

但是得到了以下错误:

MySQL::您的SQL语法出现了错误;请检查与MySQL服务器版本对应的手册,以便在第2行使用“ALTER添加分区(分区p0值in”)附近的正确语法:

有人能让我看看语法怎么了吗?

EN

回答 1

Stack Overflow用户

发布于 2011-12-31 21:01:44

代码语言:javascript
复制
ALTER TABLE orders PARTITION BY LIST(st) (
          PARTITION p0 VALUES IN (20,10),
          PARTITION p1 VALUES IN (0,-10)
);

ADD是无关的-语法与CREATE TABLE语句本质上是相同的。

在做这件事之前,确保你有一个好的,可恢复的备份。

日志:

代码语言:javascript
复制
mysql> create table orders (id int, st int, whatever varchar(10), primary key (id));
Query OK, 0 rows affected (0.06 sec)

mysql> ALTER TABLE orders DROP PRIMARY KEY, ADD PRIMARY KEY(id, st);
Query OK, 0 rows affected (0.06 sec)
Records: 0  Duplicates: 0  Warnings: 0

mysql> ALTER TABLE orders PARTITION BY LIST(st) (
    ->           PARTITION p0 VALUES IN (20,10),
    ->           PARTITION p1 VALUES IN (0,-10)
    -> );
Query OK, 0 rows affected (0.06 sec)
Records: 0  Duplicates: 0  Warnings: 0
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8690502

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档