Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

Mysql डिलीट सेट पर कई विदेशी कुंजी के साथ टेबल बनाएं नल

आपका विदेशी कुंजी नियम है ON DELETE SET NULL लेकिन आपकी कॉलम परिभाषा NOT NULL है .

या तो अपनी कॉलम की परिभाषा बदलें और NOT NULL . को हटा दें अपने विदेशी कुंजी नियम का हिस्सा या ओवरथिंक करें। यह काम करता है:

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 डेमो



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. mySQL ::तालिका में डालें, किसी अन्य तालिका से डेटा?

  2. MySQL और MariaDB के लिए डेटाबेस की उच्च उपलब्धता का परिचय

  3. क्या MySQL में एक टेबल छोड़ने से इंडेक्स भी गिर जाता है?

  4. यदि यह मौजूद नहीं है तो mysql तालिका बनाएं

  5. पुनर्स्थापना त्रुटि के साथ mysqldump समस्याएँ:'कृपया आयात करने से पहले तालिका स्थान को त्यागें'