Error 1826: Duplicate foreign key constraint name, I need you to help me see where the error comes from

0

Executing SQL script in server
ERROR: Error 1826: Duplicate foreign key constraint name 'idPersona'
SQL Code:
    -- -----------------------------------------------------
    -- Table 'GlobalCompany'.'Proveedor'
    -- -----------------------------------------------------
    CREATE TABLE IF NOT EXISTS 'GlobalCompany'.'Proveedor' (
      'idProveedor' INT NOT NULL AUTO_INCREMENT,
      'idPersona' INT NOT NULL,
      'Compañia' VARCHAR(50) NOT NULL,
      'Estatus' VARCHAR(1) NOT NULL,
      PRIMARY KEY ('idProveedor'),
      INDEX 'idPersona_idx' ('idPersona' ASC) VISIBLE,
      CONSTRAINT 'idPersona'
        FOREIGN KEY ('idPersona')
        REFERENCES 'GlobalCompany'.'Persona' ('idPersona')
        ON DELETE NO ACTION
        ON UPDATE NO ACTION)
    ENGINE = InnoDB

SQL script execution finished: statements: 10 succeeded, 1 failed

Fetching back view definitions in final form.
Nothing to fetch
    
asked by Jatniel Nuñez 13.12.2018 в 20:40
source

1 answer

2

This error occurs when you try to generate a CONSTRAINT to a table with a name already existing in it.

CREATE TABLE IF NOT EXISTS 'GlobalCompany'.'Proveedor' (
  'idProveedor' INT NOT NULL AUTO_INCREMENT,
  'idPersona' INT NOT NULL,
  'Compañia' VARCHAR(50) NOT NULL,
  'Estatus' VARCHAR(1) NOT NULL,
  PRIMARY KEY ('idProveedor'), 
  INDEX 'idPersona_idx' ('idPersona' ASC) VISIBLE,
  CONSTRAINT 'idPersona'  -- En esta parte se encuentra el problema.
    FOREIGN KEY ('idPersona')  
    REFERENCES 'GlobalCompany'.'Persona' ('idPersona')
    ON DELETE NO ACTION
    ON UPDATE NO ACTION)
ENGINE = InnoDB

Change the name you want to put to your new constraint. Greetings.

    
answered by 13.12.2018 / 20:48
source