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

अन्य स्तंभ मान पर निर्भर स्तंभ

आप इसे उपप्रकार तालिका जोड़कर हल कर सकते हैं (मैं एनम पर एक लुकअप टेबल भी पसंद करूंगा, और भी अधिक क्योंकि आप लचीला होना चाहते हैं और बाद में और प्रकार जोड़ना चाहते हैं):

ChoiceType
----------            --- the lookup table
Choice      
Desciption
PRIMARY KEY(Choice)

Event
-----                 --- your table
EventId 
Choice 
... other stuff for all events
PRIMARY KEY(EventId)
FOREIGN KEY (Choice)
  REFERENCES ChoiceType(Choice)

EventYL 
-------               --- the YesLater table
EventId 
EventDate
... other stuff for YesLater events only
PRIMARY KEY(EventId)
FOREIGN KEY (EventId)
  REFERENCES Event(EventId)

यदि आप अन्य विकल्पों के लिए अलग-अलग डेटा संग्रहीत करना चाहते हैं, तो आप एक EventYI add जोड़ सकते हैं तालिका (Yes Immediate के लिए) ), एक EventNO , आदि.

इस डिज़ाइन के साथ एकमात्र समस्या यह है कि कुछ भी ऐसी घटना को रोकता है जो 'Yes Later' . नहीं है EventYL . में जोड़ा जाना है तालिका, इसलिए इसे अन्यथा लागू किया जाना चाहिए। यदि केवल MySQL में चेक बाधाएँ होती हैं, तो तालिका को इसमें बदला जा सकता है:

EventYL 
-------                --- YesLater version 2
EventId 
Choice
EventDate
PRIMARY KEY(EventId, Choice)
FOREIGN KEY (EventId, Choice)
  REFERENCES Event(EventId, Choice)
CHECK (Choice = 'YL')



  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 . का उपयोग करके xml में mysql से डेटा निर्यात करना

  2. त्रुटि 1148:इस MySQL संस्करण के साथ प्रयुक्त कमांड की अनुमति नहीं है

  3. अलग वर्ग के लिए संबंध ::morphMap () का उपयोग कैसे करें

  4. OOP का उपयोग करके किसी अन्य .php से दूसरे .php की कक्षा में $db का उपयोग कैसे करें?

  5. बड़ी MySQL तालिका निर्यात करना