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

2 टेबल के लिए विदेशी कुंजी कैसे बनाएं?

दुर्भाग्य से, आप इस तरह की बाधा नहीं बना सकते, क्योंकि फ़ोरेन कुंजी हमेशा एक पैरेंट टेबल पर आधारित होती है।

आप क्या कर सकते हैं ट्रिगर बनाने के लिए जो आपके इनपुट डेटा को इसके प्रकार के अनुसार परीक्षण करेगा, और रोलबैक अनुचित परिवर्तन:

कुछ इस तरह:

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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. PHP में दूरस्थ MySQL कनेक्शन

  2. एक विशिष्ट ग्राहक का चयन कैसे करें?

  3. एफपीडीएफ सेल पोजिशनिंग

  4. तालिकाएँ जिनका एकमात्र उद्देश्य किसी अन्य तालिका का सबसेट निर्दिष्ट करना है

  5. Laravel वाक्पटु बाएँ शामिल हों जहाँ NULL