Eliminar todos los datos de una tabla en CodeIgniter

En un trabajo que estoy realizando intenté hacer un delete de este tipo en CodeIgniter:

$this->db->delete("la_tabla");

Cosa que permitiría eliminar todos los elementos de una tabla, pero no fue así y en su lugar salió el mensaje:

Deletes are not allowed unless they contain a “where” or “like” clause.

Que quiere decir que las eliminaciones no están permitidas si no les pones un where o un like. Pero si ejecutamos:

delete from mi_tabla;

En una consola de MySQL, todo va bien. Bueno, no importa, el problema fue con CodeIgniter y la solución es realmente sencilla.

Vaciar o eliminar todos los datos de una tabla con CodeIgniter

El query builder de CodeIgniter tiene unas opciones para limpiar una tabla. Hay dos métodos que nos ofrece:

empty_table("tabla")

Y también:

truncate_table("tabla")

La primera opción es el equivalente a hacer un delete from mi_tabla; y la segunda es equivalente a hacer un truncate table mi_tabla;

Formas de uso

Primero, carga la base de datos y la tendrás en $this->db. Luego puedes llamarla así:

<?php
# Equivalente a delete from mi_tabla
$this->db->empty_table("mi_tabla");
# Equivalente a truncate table mi_tabla
$this->db->truncate_table("mi_tabla");
?>

Por cierto, si tu base de datos no soporta la operación truncate, se ejecutará un delete from tabla

Aquí las referencias.

Estoy aquí para ayudarte 🤝💻


Estoy aquí para ayudarte en todo lo que necesites. Si requieres alguna modificación en lo presentado en este post, deseas asistencia con tu tarea, proyecto o precisas desarrollar un software a medida, no dudes en contactarme. Estoy comprometido a brindarte el apoyo necesario para que logres tus objetivos. Mi correo es parzibyte(arroba)gmail.com, estoy como@parzibyte en Telegram o en mi página de contacto

No te pierdas ninguno de mis posts 🚀🔔

Suscríbete a mi canal de Telegram para recibir una notificación cuando escriba un nuevo tutorial de programación.

Dejar un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *