1075: Incorrect table definition; there can be only one auto column and it must be defined as a key (definición de tabla incorrecta; solo puede haber una columna automática y debe definirse como clave)
MySQL¿Qué significa?
La definición de la tabla no es válida porque se infringieron las reglas de AUTO_INCREMENT: una tabla solo puede tener una columna autoincremental, y esa columna debe formar parte de una clave (PRIMARY KEY o UNIQUE/índice).
¿Por qué ocurre?
Definir más de una columna AUTO_INCREMENT, o dejar la columna AUTO_INCREMENT fuera de todas las claves (índices). Ocurre durante CREATE TABLE o ALTER TABLE.
Cómo solucionarlo
Mantenga una sola columna AUTO_INCREMENT y haga que forme parte de una clave: CREATE TABLE t (id INT AUTO_INCREMENT PRIMARY KEY, ...); Para corregir una tabla existente, añada primero la columna a una clave: ALTER TABLE t ADD PRIMARY KEY (id); y después defina AUTO_INCREMENT. Si necesita más de una columna automática, replantee el diseño; MySQL no lo admite.
Más entradas de este motor
- 1615Prepared statement needs to be re-prepared (la sentencia preparada debe volver a prepararse)
- 1553Cannot drop index needed in a foreign key constraint (no se puede eliminar un índice que necesita una restricción de foreign key)
- 3948Loading local data is disabled; this must be enabled on both the client and server sides (la carga de datos locales está deshabilitada; debe habilitarse en el cliente y en el servidor)
- 1055Expression not in GROUP BY (only_full_group_by) (expresión que no está en GROUP BY)
- 1267Illegal mix of collations
- 1030Got error N from storage engine
- 1197Multi-statement transaction required more than 'max_binlog_cache_size' (la transacción de varias sentencias requirió más que 'max_binlog_cache_size')