Eliminar campos NULL con MySQL/PHP

Hace unos cuantos días tuve que supervisar la migración de una serie de bases de datos antiguas almacenadas en formato CSV a un nuevo sistema basado en MySQL.

Uno de los problemas que aparecieron durante el proceso de migración fue el de que los campos vacíos eran rellenados, en el caso de que éstos fueran de tipo texto, con el valor NULL.

El siguiente script realiza un repaso rápido de la base de datos buscando en el campo que se le indique los valores NULL y los sustituye por un espacio en blanco.

";
echo "";
echo "";
echo "";

}else{

$campo = $_POST["CAMPO"];

// Fase I: Establecimiento de la conexión. 
$link=mysql_connect("localhost","root","")or die(mysql_error());
$db = mysql_select_db("contactos",$link) or die(mysql_error());
echo "

Conexión a base de datos realizada con éxito.

"; // Fase II: Seleccion de base de datos y bucle de reemplazo: $sql = "update contacto set ".$campo." = \"\" where ".$campo." = \"NULL\""; // Ejecutamos la consulta $query = mysql_query($sql); // Comprobamos el resultado $error = mysql_error(); if( $error )echo 'Hubo un error en la consulta' ; else { $filas = mysql_affected_rows (); echo 'Filas afectadas: ' . $filas ; } } ?>

Nota: Es importante que en este caso, se busca el valor de texto NULL y no el carácter especial NULL. Si lo que buscamos es reemplazar este segundo, bastará con modificar la línea SQL de la siguiente forma:

$sql = "update contacto set ".$campo." = \"\" where ".$campo is null;

Leave A Comment

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