DROP TABLE IF EXISTS t1;
CREATE TABLE t1 (a <INT_COLUMN>, b <CHAR_COLUMN>) ENGINE=<STORAGE_ENGINE> <CUSTOM_TABLE_OPTIONS> PARTITION BY HASH(a) PARTITIONS 2;
TRUNCATE TABLE t1;
INSERT INTO t1 (a,b) VALUES (1,'a'), (2,'b'), (3,'c');
TRUNCATE TABLE t1;
SELECT a,b FROM t1;
a	b
DROP TABLE t1;
CREATE TABLE t1 (a <INT_COLUMN> KEY AUTO_INCREMENT, c <CHAR_COLUMN>) ENGINE=<STORAGE_ENGINE> <CUSTOM_TABLE_OPTIONS> PARTITION BY HASH(a) PARTITIONS 2;
SHOW CREATE TABLE t1;
Table	Create Table
t1	CREATE TABLE `t1` (
  `a` int(11) NOT NULL AUTO_INCREMENT,
  `c` char(8) DEFAULT NULL,
  PRIMARY KEY (`a`)
) ENGINE=<STORAGE_ENGINE> DEFAULT CHARSET=latin1
/*!50100 PARTITION BY HASH (a)
PARTITIONS 2 */
INSERT INTO t1 (c) VALUES ('a'),('b'),('c');
SHOW CREATE TABLE t1;
Table	Create Table
t1	CREATE TABLE `t1` (
  `a` int(11) NOT NULL AUTO_INCREMENT,
  `c` char(8) DEFAULT NULL,
  PRIMARY KEY (`a`)
) ENGINE=<STORAGE_ENGINE> AUTO_INCREMENT=4 DEFAULT CHARSET=latin1
/*!50100 PARTITION BY HASH (a)
PARTITIONS 2 */
TRUNCATE TABLE t1;
SHOW CREATE TABLE t1;
Table	Create Table
t1	CREATE TABLE `t1` (
  `a` int(11) NOT NULL AUTO_INCREMENT,
  `c` char(8) DEFAULT NULL,
  PRIMARY KEY (`a`)
) ENGINE=<STORAGE_ENGINE> DEFAULT CHARSET=latin1
/*!50100 PARTITION BY HASH (a)
PARTITIONS 2 */
INSERT INTO t1 (c) VALUES ('d');
SHOW CREATE TABLE t1;
Table	Create Table
t1	CREATE TABLE `t1` (
  `a` int(11) NOT NULL AUTO_INCREMENT,
  `c` char(8) DEFAULT NULL,
  PRIMARY KEY (`a`)
) ENGINE=<STORAGE_ENGINE> AUTO_INCREMENT=2 DEFAULT CHARSET=latin1
/*!50100 PARTITION BY HASH (a)
PARTITIONS 2 */
SELECT a,c FROM t1;
a	c
1	d
DROP TABLE t1;
CREATE TABLE t1 (a <INT_COLUMN>, b <CHAR_COLUMN>) ENGINE=<STORAGE_ENGINE> <CUSTOM_TABLE_OPTIONS> PARTITION BY HASH(a) PARTITIONS 2;
INSERT INTO t1 (a,b) VALUES (1,'a'),(2,'b'),(3,'c'),(2,'d'),(4,'e'),(100,'f'),(101,'g');
ALTER TABLE t1 TRUNCATE PARTITION p0;
SELECT a,b FROM t1;
a	b
1	a
101	g
3	c
EXPLAIN PARTITIONS SELECT a,b FROM t1;
id	select_type	table	partitions	type	possible_keys	key	key_len	ref	rows	Extra
1	SIMPLE	t1	p0,p1	#	#	#	#	#	#	
INSERT INTO t1 (a,b) VALUES (1,'a'), (2,'b'), (3,'c');
ALTER TABLE t1 TRUNCATE PARTITION ALL;
SELECT a,b FROM t1;
a	b
DROP TABLE t1;
