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

फ़ील्ड मान के आधार पर अद्वितीय बाधा जोड़ें

दरअसल, आप नहीं . कर सकते हैं डीडीएल सिंटैक्स में सशर्त संरचनाओं को परिभाषित करें। आपका फ़ील्ड NULL . हो सकता है या NOT NULL - कोई तीसरा विकल्प नहीं है (और यह संरचना में . किसी अन्य फ़ील्ड पर निर्भर नहीं हो सकता है )

लेकिन आप अभी भी ट्रिगर्स के माध्यम से वांछित व्यवहार का अनुकरण कर सकते हैं। आप UPDATE को बाधित कर सकते हैं /INSERT कथन यदि आने वाला डेटा आपके तर्क के संदर्भ में अमान्य है। इसके द्वारा किया जा सकता है:

CREATE TRIGGER `bannedOnCheck`
BEFORE INSERT ON `fa_ranking_system`.`Player`
FOR EACH ROW
BEGIN
  IF(new.IsBanned && new.BannedOn IS NULL) THEN
    SIGNAL 'Integrity check failed: can not set banned without ban date'
  END IF
END



  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 डेटा UNPIVOT करें

  2. MySQL में अनेक-से-अनेक संबंध में चयन करें

  3. विंडोज 7 x64 में रेल के लिए MySQL ड्राइवर

  4. मैसकल में खंड के बीच अल्फ़ान्यूमेरिक फ़ील्ड का उपयोग कैसे करें?

  5. MySQL के TIMESTAMP का उपयोग करना बनाम सीधे टाइमस्टैम्प को संग्रहीत करना