RANGE Partitioning ->  ); ERROR 1488 (HY000): Duplicate partition name mypart 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 ); 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) ); 4661 In this partitioning scheme, all rows corresponding to employees working at stores 1 through 5 are stored in partition  p0 , to those employed at stores 6 through 10 are stored in partition  p1 , and so on. Each This table can be partitioned by range in a number of ways, depending on your needs. One way would be to use the  store_id  column. For instance, you might decide to partition the table 4 ways by adding a PARTITION BY RANGE  clause as shown here: The  employees  table used here has no primary or unique keys. While the examples work as shown for purposes of the present discussion, you should keep in mind that tables are extremely likely in practice to have primary keys, unique keys, or both, and that allowable choices for partitioning columns depend on the columns used for these keys, if any are present. For a discussion of these issues, see Section 24.6.1, “Partitioning Keys, Primary Keys, and Unique Keys” . A table that is partitioned by range is partitioned in such a way that each partition contains rows for which the partitioning expression value lies within a given range. Ranges should be contiguous but not overlapping, and are defined using the  VALUES LESS THAN  operator. For the next few examples, suppose that you are creating a table such as the following to hold personnel records for a chain of 20 video stores, numbered 1 through 20: In the sections that follow, we do not necessarily provide all possible forms for the syntax that can be used for creating each partition type; for this information, see Section 13.1.20, “CREATE TABLE Statement” . When you specify the number of partitions for the table, this must be expressed as a positive, nonzero integer literal with no leading zeros, and may not be an expression such as  0.8E+01  or  6-2 , even if it evaluates to an integer value. Decimal fractions are not permitted. Failure occurs because MySQL sees no difference between the partition names  mypart  and  MyPart . 24.2.1 RANGE Partitioning Note