🧠 Chapuzas de Programación: El ID Maldito que Empezó en 0
🧠 Chapuzas de Programación: El ID Maldito que Empezó en 0
⚠️ Advertencia: Lo que vas a leer a continuación puede herir la sensibilidad de programadores organizados.
📅 Día 1: El bug
Yo: “¿Por qué demonios el ID empieza en 0 si PostgreSQL siempre inicia en 1?”
La base de datos: “Yo no fui.”
El framework (CodeIgniter 4): “Yo solo sigo órdenes.”
El culpable: yo, que le mandaba el ID manualmente como si supiera lo que hacía.
🔎 El crimen
$datos["id"] = 0;
$model->save($datos);
Así, sin miedo. Como si los id
s fueran caramelos y no llaves primarias de la integridad de la base de datos.
💥 Resultado
La base de datos, obediente, dijo:
“Ah, ¿quieres guardar el ID 0? Claro, bro, aquí lo tienes. ¿Que esperabas que yo lo autogenerara? Jajajaja, no me hagas reír en SQL.”
😭 El llanto
Horas buscando si la secuencia de PostgreSQL estaba rota, si el SERIAL
venía del inframundo, si había un bug milenario...
Pero no.
Solo era yo. El que puso:
'id' => 0
con toda la frescura de un junior confundido.
✅ La salvación
Eliminé ese demoníaco campo antes de guardar:
if (isset($datos['id']) && $datos['id'] == 0) {
unset($datos['id']); // Que lo genere la DB, ¡como Dios manda!
}
Y así, por arte de magia, ¡el ID volvió a empezar en 1! 🎉
🧙♂️ Moral de la historia
No le digas a PostgreSQL qué ID usar. Él ya lo sabe.
Si estás usando autoincremento, no metas la mano. Solo deja que la secuencia haga su magia.
🤡 Chapuza nivel: Yo mismo
¿Te ha pasado algo peor?
¿Has insertado registros con la fecha '0000-00-00'
en PostgreSQL?
¿Has hecho DELETE FROM users
sin WHERE
?
Cuéntamelo en los comentarios. Nos reímos juntos… o lloramos en grupo 😭🍺
Comentarios
Publicar un comentario