🧠 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 ids 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

Entradas populares