CREATE TABLE PartitionTest
(
pid INT NOT NULL AUTO_INCREMENT,
pname VARCHAR(100) NOT NULL,
ptime DATETIME NOT NULL,
PRIMARY KEY (ptime, pid)
)
ENGINE = MYISAM
PARTITION BY RANGE columns(ptime)(
PARTITION PartitionTest_0 VALUES LESS THAN ('2014-04-01'),
PARTITION PartitionTest_1 VALUES LESS THAN ('2014-05-01')
);
(
pid INT NOT NULL AUTO_INCREMENT,
pname VARCHAR(100) NOT NULL,
ptime DATETIME NOT NULL,
PRIMARY KEY (ptime, pid)
)
ENGINE = MYISAM
PARTITION BY RANGE columns(ptime)(
PARTITION PartitionTest_0 VALUES LESS THAN ('2014-04-01'),
PARTITION PartitionTest_1 VALUES LESS THAN ('2014-05-01')
);
(
pid INT NOT NULL AUTO_INCREMENT,
pname VARCHAR(100) NOT NULL,
ptime DATETIME NOT NULL,
PRIMARY KEY (ptime, pid)
)
ENGINE = MYISAM
PARTITION BY RANGE(MONTH(ptime))(
PARTITION PartitionTest_0 VALUES LESS THAN (4),
PARTITION PartitionTest_1 VALUES LESS THAN (5)
);ormysql 5.5CREATE TABLE PartitionTest
(
pid INT NOT NULL AUTO_INCREMENT,
pname VARCHAR(100) NOT NULL,
ptime DATETIME NOT NULL,
PRIMARY KEY (ptime, pid)
)
ENGINE = MYISAM
PARTITION BY RANGE COLUMNS (ptime)(
PARTITION PartitionTest_0 VALUES LESS THAN ('2014-04-01'),
PARTITION PartitionTest_1 VALUES LESS THAN ('2014-05-01')
);
其实MYSQL已经告诉你哪出错了。 参考一下MYSQL官方免费手册中的例子。
CREATE TABLE employees (
id INT NOT NULL,
fname VARCHAR(30),
lname VARCHAR(30),
hired DATE NOT NULL DEFAULT '1970-01-01',
separated DATE NOT NULL DEFAULT '9999-12-31',
job_code INT NOT NULL,
store_id INT NOT NULL
)
PARTITION BY RANGE (store_id) (
PARTITION p0 VALUES LESS THAN (6),
PARTITION p1 VALUES LESS THAN (11),
PARTITION p2 VALUES LESS THAN (16),
PARTITION p3 VALUES LESS THAN (21)
);