CREATE TABLE t1 ( id INT NOT NULL, store_id INT NOT NULL, x INT GENERATED ALWAYS AS (id + store_id) ) 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) ); INSERT t1 (id, store_id) VALUES(1, 2), (3, 4), (3, 12), (4, 18); CREATE INDEX idx ON t1(x); SELECT x FROM t1; x 3 7 15 22 DROP TABLE t1; create table t1 (i int, v int as (i) virtual) partition by range columns (i) subpartition by hash(v) subpartitions 3 ( partition p1 values less than (3), partition pn values less than (maxvalue)); insert t1 set i= 0; set statement sql_mode= '' for update t1 set i= 1, v= 2; Warnings: Warning 1906 The value specified for generated column 'v' in table 't1' has been ignored drop table t1;