Exposed icon indicating copy to clipboard operation
Exposed copied to clipboard

Set autoincrement and unique index fails

Open JimeFuture opened this issue 3 years ago • 2 comments

Maybe i'm wrong but setting a column like: long("ordernumber").uniqueIndex().autoIncrement()

should be fine in case of Mysql. In newer versions its allowed to have a autoincrement column without the constraint of haveing it to be the primary key.

I got the following error:

org.jetbrains.exposed.exceptions.ExposedSQLException: java.sql.SQLSyntaxErrorException: Incorrect table definition; there can be only one auto column and it must be defined as a key
SQL: [CREATE TABLE IF NOT EXISTS good (id BINARY(16) PRIMARY KEY, active BOOLEAN NOT NULL, code VARCHAR(20) NOT NULL, description VARCHAR(255) NOT NULL, externalcode VARCHAR(30) NOT NULL, ordernumber BIGINT AUTO_INCREMENT NOT NULL)]

I not even see the unique Index there....

Using exposed : 0.32.1 with jdbc for mysql

JimeFuture avatar Aug 10 '21 11:08 JimeFuture

This seems to be because SchemaUtils#create deliberately separates the index creation from the table create.

tajobe avatar Feb 19 '22 23:02 tajobe