Partition Selection mysql>  SELECT * FROM employees WHERE fname = ’Jill’; +----+-------+-------+----------+---------------+ | id | fname | lname | store_id | department_id | +----+-------+-------+----------+---------------+ | 11 | Jill | Stone | 1 | 4 | +----+-------+-------+----------+---------------+ 1 row in set (0.00 sec) mysql>  UPDATE employees PARTITION (p2) -> SET store_id = 2 WHERE fname = ’Jill’; Query OK, 1 row affected (0.09 sec) Rows matched: 1 Changed: 1 Warnings: 0 mysql>  SELECT * FROM employees WHERE fname = ’Jill’; +----+-------+-------+----------+---------------+ | id | fname | lname | store_id | department_id | +----+-------+-------+----------+---------------+ | 11 | Jill | Stone | 2 | 4 | +----+-------+-------+----------+---------------+ 1 row in set (0.00 sec) mysql>  INSERT INTO employees PARTITION (p2) VALUES (20, ’Jan’, ’Jones’, 1, 3); ERROR 1729 (HY000): Found a row not matching the given partition set mysql>  INSERT INTO employees PARTITION (p3) VALUES (20, ’Jan’, ’Jones’, 1, 3); Query OK, 1 row affected (0.07 sec) mysql> REPLACE INTO employees PARTITION (p0) VALUES (20, ’Jan’, ’Jones’, 3, 2); ERROR 1729 (HY000): Found a row not matching the given partition set mysql> REPLACE INTO employees PARTITION (p3) VALUES (20, ’Jan’, ’Jones’, 3, 2); Query OK, 2 rows affected (0.09 sec) mysql>  ALTER TABLE employees -> REORGANIZE PARTITION p3 INTO ( -> PARTITION p3 VALUES LESS THAN (20), -> PARTITION p4 VALUES LESS THAN (25), -> PARTITION p5 VALUES LESS THAN MAXVALUE -> ); Query OK, 6 rows affected (2.09 sec) Records: 6 Duplicates: 0 Warnings: 0 mysql>  SHOW CREATE TABLE employees\G *************************** 1. row *************************** Table: employees Create Table: CREATE TABLE ‘employees‘ ( ‘id‘ int(11) NOT NULL AUTO_INCREMENT, ‘fname‘ varchar(25) NOT NULL, ‘lname‘ varchar(25) NOT NULL, ‘store_id‘ int(11) NOT NULL, ‘department_id‘ int(11) NOT NULL, PRIMARY KEY (‘id‘) ) ENGINE=InnoDB AUTO_INCREMENT=27 DEFAULT CHARSET=utf8mb4 /*!50100 PARTITION BY RANGE (id) 4713 For statements that write multiple rows to a partitioned table that using the  InnoDB  storage engine: If any row in the list following  VALUES  cannot be written to one of the partitions specified in the partition_names  list, the entire statement fails and no rows are written. This is shown for  INSERT statements in the following example, reusing the  employees  table created previously: For statements that insert rows, the behavior differs in that failure to find a suitable partition causes the statement to fail. This is true for both  INSERT  and  REPLACE  statements, as shown here: In the same way, when  PARTITION  is used with  DELETE , only rows in the partition or partitions named in the partition list are checked for deletion.