--source suite/xengine/include/have_xengine.inc # # Basic syntax related to primary keys # --disable_warnings DROP TABLE IF EXISTS t1; --enable_warnings CREATE TABLE t1 (a INT PRIMARY KEY, b CHAR(8) ) ENGINE=xengine; --replace_column 7 # SHOW KEYS IN t1; INSERT INTO t1 (a,b) VALUES (1,'a'),(2,'b'); --error ER_DUP_ENTRY INSERT INTO t1 (a,b) VALUES (1,'c'); DROP TABLE t1; --error ER_MULTIPLE_PRI_KEY CREATE TABLE t1 (a INT PRIMARY KEY, b CHAR(8) PRIMARY KEY ) ENGINE=xengine; CREATE TABLE t1 (a INT, b CHAR(8), PRIMARY KEY (a,b) ) ENGINE=xengine; --replace_column 7 # SHOW INDEX IN t1; INSERT INTO t1 (a,b) VALUES (1,'a'),(1,'b'),(2,'a'),(2,'b'); --error ER_DUP_ENTRY INSERT INTO t1 (a,b) VALUES (1,'b'); DROP TABLE t1; # KEY in a column definition means PK! CREATE TABLE t1 (a INT KEY, b CHAR(8), KEY (b) ) ENGINE=xengine; --replace_column 7 # SHOW INDEX IN t1; DROP TABLE t1; CREATE TABLE t1 (a INT, b CHAR(8) PRIMARY KEY ) ENGINE=xengine; --replace_column 7 # SHOW INDEX IN t1; --error ER_MULTIPLE_PRI_KEY ALTER TABLE t1 ADD CONSTRAINT PRIMARY KEY pk (a); --replace_column 7 # SHOW KEYS IN t1; DROP TABLE t1; --source suite/xengine/include/check_xengine_log_error.inc