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

Hvordan opretter man fremmednøgle til 2 borde?

Du kan desværre ikke oprette en sådan begrænsning, da den fremmede nøgle altid er baseret på en overordnet tabel.

Hvad du kan gøre, er at oprette triggeren, som tester dine inputdata i henhold til dens type og tilbagefører upassende ændringer:

Noget som dette:

CREATE TRIGGER insert_stock_child
BEFORE INSERT
ON stock
FOR EACH ROW
BEGIN
  IF new.type = 'BOOK_TYPE' AND (SELECT COUNT(*) FROM book
    WHERE book.bookID = new.itemID)= 0
  THEN
    INSERT error_msg VALUES ('No such book!');
  END IF;
END;

-- same logic for the cd table



  1. PGAdmin:Ikke forbundet til serveren, eller forbindelsen til serveren er blevet lukket

  2. Topspørgsmål om JAVA/JRE i Oracle Apps

  3. Hvad er forskellen mellem VARCHAR(255) og TINYTEXT strengtyper i MySQL?

  4. Implementering og konfiguration af ODP.NET til at fungere uden installation med Entity Framework