1075: Incorrect table definition; there can be only one auto column and it must be defined as a key (definição de tabela incorreta; só pode haver uma coluna automática e ela deve ser definida como chave)
MySQLO que significa?
A definição da tabela é inválida porque as regras de AUTO_INCREMENT foram violadas: uma tabela pode ter apenas uma coluna auto-incremento, e essa coluna deve fazer parte de uma chave (PRIMARY KEY ou UNIQUE/índice).
Por que acontece?
Definir mais de uma coluna AUTO_INCREMENT ou deixar a coluna AUTO_INCREMENT fora de todas as chaves (índices). Ocorre durante CREATE TABLE ou ALTER TABLE.
Como resolver
Mantenha uma única coluna AUTO_INCREMENT e torne-a parte de uma chave: CREATE TABLE t (id INT AUTO_INCREMENT PRIMARY KEY, ...); Para corrigir uma tabela existente, primeiro adicione a coluna a uma chave: ALTER TABLE t ADD PRIMARY KEY (id); depois defina o AUTO_INCREMENT. Se precisar de mais de uma coluna automática, reveja o design; o MySQL não suporta isso.
Mais entradas deste banco
- 1615Prepared statement needs to be re-prepared (o prepared statement precisa ser preparado novamente)
- 1553Cannot drop index needed in a foreign key constraint (não é possível remover um índice exigido por uma constraint de foreign key)
- 3948Loading local data is disabled; this must be enabled on both the client and server sides (o carregamento de dados locais está desabilitado; deve ser habilitado no cliente e no servidor)
- 1055Expression not in GROUP BY (only_full_group_by) (expressão que não está no GROUP BY)
- 1267Illegal mix of collations
- 1030Got error N from storage engine
- 1197Multi-statement transaction required more than 'max_binlog_cache_size' (a transação com vários comandos exigiu mais que 'max_binlog_cache_size')