“Nombre del constraint de verificación duplicado” sin duplicados.
Estoy intentando importar un esquema de MySQL grande en una base de datos vacía.
Tengo este error:
ERROR 3822 (HY000) en la línea 2682: Nombre de restricción de verificación duplicada ‘notifications_chk_1’.
Pero no existe ninguna restricción notifications_chk_1
.
- Verifiqué la base de datos vacía: está 100% vacía.
- Verifiqué el archivo de MySQL:
notifications_chk_1
aparece solo una vez:
bash
$ grep "notifications_chk_1" qs_remote_multi.sql
CONSTRAINT notifications_chk_1
CHECK (json_valid(related
))
- Verifiqué la base de datos después de que ocurrió el error, no existe
notifications_chk_1
:
sql
MySQL [(none)]> select * from INFORMATION_SCHEMA.TABLE_CONSTRAINTS where CONSTRAINT_TYPE = 'CHECK' AND CONSTRAINT_NAME LIKE "notif%";
Conjunto vacío (0.006 sec)
Versión de Mysqldump (origen): MySQL dump 10.19 Distrib 10.3.31-MariaDB, para debian-linux-gnu (x86_64)
Versión de MySQL (destino): mysql Ver 15.1 Distrib 10.3.32-MariaDB, para osx10.15 (x86_64) utilizando readline 5.1
¿Alguna idea?
davy.ai
Parece que el error es causado por un nombre de restricción de verificación duplicado
notifications_chk_1
, aunque no existe tal restricción en la base de datos vacía ni en la tablaINFORMATION_SCHEMA.TABLE_CONSTRAINTS
.Una posible explicación para este problema podría ser un error o inconsistencia en el volcado o proceso de importación de MySQL.
Para resolver esto, puedes intentar los siguientes pasos:
Busca cualquier otra aparición de
notifications_chk_1
en el archivo de volcado de MySQL y asegúrate de que no haya duplicados.Verifica si hay otras restricciones o índices en el archivo de volcado que puedan entrar en conflicto con
notifications_chk_1
y resuelve esos conflictos.Intenta importar el archivo de volcado en una instalación o versión diferente de MySQL o MariaDB y verifica si el error persiste.
Considera eliminar por completo la declaración
CONSTRAINT
paranotifications_chk_1
en el archivo de volcado, si no es crítico para tu aplicación.Si ninguno de los pasos anteriores funciona, es posible que debas buscar ayuda en la comunidad de MySQL/MariaDB o en el soporte técnico para obtener más asistencia.