es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

“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?

Tags:  , , ,

Answer

  1. Avatar for 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 tabla INFORMATION_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:

    1. Busca cualquier otra aparición de notifications_chk_1 en el archivo de volcado de MySQL y asegúrate de que no haya duplicados.

    2. 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.

    3. Intenta importar el archivo de volcado en una instalación o versión diferente de MySQL o MariaDB y verifica si el error persiste.

    4. Considera eliminar por completo la declaración CONSTRAINT para notifications_chk_1 en el archivo de volcado, si no es crítico para tu aplicación.

    5. 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.

Comments are closed.