我尝试用以下代码修改表,从而在MySQL中进行表分区:
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”)附近的正确语法:
有人能让我看看语法怎么了吗?
发布于 2011-12-31 21:01:44
ALTER TABLE orders PARTITION BY LIST(st) (
PARTITION p0 VALUES IN (20,10),
PARTITION p1 VALUES IN (0,-10)
);ADD是无关的-语法与CREATE TABLE语句本质上是相同的。
在做这件事之前,确保你有一个好的,可恢复的备份。
日志:
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: 0https://stackoverflow.com/questions/8690502
复制相似问题