Un error generado desde PHP en una consulta a MySQL, usando el conector de base de datos PDO. La sintaxis del error es: Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry '0' for key 'PRIMARY'
.
Un error estúpido, pero muy sencillo de resolver. Simplemente hubo un problema en la declaración de una tabla, en una base de datos MySQL:
CREATE TABLE IF NOT EXISTS `users` (
`id` INT NOT NULL,
`name` VARCHAR(60) NOT NULL,
`password` VARCHAR(45) NOT NULL,
`email` VARCHAR(254) NOT NULL,
PRIMARY KEY (`id`))
Cuando lo correcto es:
CREATE TABLE IF NOT EXISTS `users` (
`id` INT NOT NULL AUTO_INCREMENT,
`name` VARCHAR(60) NOT NULL,
`password` VARCHAR(45) NOT NULL,
`email` VARCHAR(254) NOT NULL,
PRIMARY KEY (`id`))
El error es simplemente que se omitió declarar la clave primaria AUTO_INCREMENT.