sql >> Database teknologi >  >> RDS >> Mysql

Mysql oprette tabel med flere fremmednøgler på delete sæt null

Din fremmednøgleregel er ON DELETE SET NULL men din kolonnedefinition er NOT NULL .

Skift enten din kolonnedefinition og fjern NOT NULL dele eller overtænke din fremmednøgleregel. Det virker:

CREATE TABLE Vineyard (
    VineyardID smallint auto_increment,
    VineyardName VARCHAR(45) NOT NULL,
    FarmerID    smallint,
    GrapeID smallint,
    ComeFrom    varchar(45) NOT NULL,
    HarvestedAmount int,
    RipenessPercent int,
    PRIMARY KEY (VineyardID),
    FOREIGN KEY (FarmerID) REFERENCES Worker(WorkerID)
        ON DELETE SET NULL
        ON UPDATE CASCADE,
    FOREIGN KEY (GrapeID) REFERENCES Grape(GrapeID)
        ON DELETE SET NULL
        ON UPDATE CASCADE
)Engine=InnoDB;

SQLFiddle-demo



  1. Sådan løses ude af stand til at skifte kodningsfejlen, når du indsætter XML i SQL Server

  2. Databaseskift og failover for Drupal-websteder, der bruger MySQL eller PostgreSQL

  3. hvordan kan jeg udføre CMD-kommandoen i c#-konsolapplikationen?

  4. JDBC SQLServerException:Denne driver er ikke konfigureret til integreret godkendelse.