= SQL Cambiar collate
* Cambiar la opción por defecto de crear nuevas tablas:ALTER DATABASE `tu_base_de_datos` CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
* Ejecutar las sentencias generadas para cambiar todas las tablas una base de datos:
SELECT CONCAT('ALTER TABLE `', TABLE_SCHEMA, '`.`', TABLE_NAME, '` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;') AS script
FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_SCHEMA = 'tu_base_de_datos'
AND TABLE_TYPE = 'BASE TABLE';
* Ojo con los errores de claves foráneas:-- 1. Desactivar la verificación de llaves foráneas
SET FOREIGN_KEY_CHECKS = 0;
-- [AQUÍ EJECUTAS TODO TU SCRIPT DE ALTER TABLES]
-- 2. Volver a activar la verificación
SET FOREIGN_KEY_CHECKS = 1;
* Opción para algunas tablas solo:SELECT CONCAT('ALTER TABLE `', TABLE_SCHEMA, '`.`', TABLE_NAME, '` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;') AS script
FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_SCHEMA = 'tu_base_de_datos'
AND TABLE_NAME IN ('tabla_A', 'tabla_B', 'tabla_C')
AND TABLE_TYPE = 'BASE TABLE';