sql >> Databáze >  >> RDS >> Mysql

Mysql vytvořit tabulku s více cizími klíči na delete set null

Vaše pravidlo pro cizí klíč je ON DELETE SET NULL ale vaše definice sloupce je NOT NULL .

Buď změňte definici sloupce a odstraňte NOT NULL část nebo přehodnocení pravidla cizího klíče. Funguje to:

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;

Ukázka SQLFiddle



  1. Způsob, jak číst data tabulky z Mysql do Pig

  2. Jak funguje funkce LOAD_FILE() v MySQL

  3. Práce s SQL kurzory

  4. SQL server vybere odlišné řádky pouze pomocí nejnovější hodnoty