
¿Has intentado importar un archivo .sql
a tu base de datos MySQL y te ha aparecido este mensaje?
ERROR 1231 (42000): Variable ‘character_set_client’ can’t be set to the value of ‘NULL’
Este error es bastante común, sobre todo al trabajar con backups generados desde phpMyAdmin. A continuación, te explico por qué ocurre y cómo puedes solucionarlo fácilmente.
¿Por qué se produce este error?
El error se debe a que faltan ciertas instrucciones esenciales en la cabecera del archivo de respaldo .sql
. Estas instrucciones indican a MySQL cómo manejar la codificación de caracteres, entre otras configuraciones necesarias para restaurar correctamente los datos.
Cuando estas líneas están ausentes, MySQL no sabe cómo interpretar correctamente las variables relacionadas con el juego de caracteres, y lanza el error.
Cómo solucionar el error paso a paso
1. Abre el archivo .sql
en un editor de texto
Puedes utilizar cualquier editor de texto como Notepad++, Visual Studio Code o Sublime Text.
2. Añade estas líneas al inicio del archivo .sql
Copia y pega el siguiente bloque justo al principio del archivo:
-- phpMyAdmin SQL Dump -- version 4.7.0 -- https://www.phpmyadmin.net/ -- -- Host: 127.0.0.1 -- Generation Time: Aug 16, 2017 at 07:24 AM -- Server version: 10.1.25-MariaDB -- PHP Version: 7.1.7 SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO"; SET AUTOCOMMIT = 0; START TRANSACTION; SET time_zone = "+00:00"; /*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */; /*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */; /*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */; /*!40101 SET NAMES utf8mb4 */;
Estas líneas restablecen correctamente las variables necesarias para que el volcado de la base de datos se realice sin errores.
3. Guarda el archivo y vuelve a importarlo
Una vez añadidas las líneas, guarda los cambios e intenta importar de nuevo el archivo en tu servidor MySQL o MariaDB. El error debería desaparecer.
Recomendaciones adicionales
Asegúrate de que el archivo
.sql
esté guardado en formato UTF-8 sin BOM.Si haces exportaciones con frecuencia desde phpMyAdmin, revisa que las opciones de exportación incluyan la configuración de codificación (
SET NAMES
, etc.).Verifica siempre que los archivos de respaldo incluyan una cabecera completa antes de importarlos.
Conclusión
El error ERROR 1231 (42000): Variable 'character_set_client' can't be set to the value of 'NULL'
es fácil de solucionar añadiendo las cabeceras adecuadas al archivo .sql
. Siguiendo los pasos anteriores, deberías poder importar tu base de datos sin ningún problema.
Be the first to comment