sql >> Databasteknik >  >> RDS >> Mysql

Mysql skapa tabell med flera främmande nyckel på delete set null

Din regel för främmande nyckel är ON DELETE SET NULL men din kolumndefinition är NOT NULL .

Ändra din kolumndefinition och ta bort NOT NULL ta del av eller övertänka regeln om din främmande nyckel. Det fungerar:

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. Oracle - Vilken TNS Names-fil använder jag?

  2. mysql_result() förväntar sig att parameter 1 är resurs, boolesk given

  3. Använda Oracle JDeveloper 12c med Oracle Database 12c på Oracle Cloud Platform, del 3

  4. 2 sätt att returnera rader som endast innehåller alfanumeriska tecken i PostgreSQL