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

टेबल्स बनाते समय SQL इंटीजर रेंज

लेखक का नोट :इस उत्तर के पहले दो भाग गलत हैं। मुझे लगा कि MySQL ने CHECK का समर्थन किया है बाधाओं और यह नहीं किया। अभी भी नहीं है। स्तंभों को मानों की एक साधारण सूची तक सीमित करने के लिए, ENUM . का उपयोग करें इस उत्तर के अंत में दृष्टिकोण। यदि तर्क अधिक जटिल है (मानों की श्रेणी, किसी अन्य कॉलम पर आधारित मान, आदि), तो एकमात्र MySQL विकल्प एक ट्रिगर है।

आपको एक CHECK की आवश्यकता है बाधा अगर यह एक INT है :

CREATE TABLE Site (
  SiteID INT,
  CONSTRAINT SiteID_Ck CHECK (SiteID IN (1, 2, 3, 4)),
  ... and the rest

या:

CREATE TABLE Site (
  SiteID INT,
  CONSTRAINT SiteID_Ck CHECK (SiteID BETWEEN 1 AND 4),
  ... and the rest

या यदि आप एक स्ट्रिंग SiteID के साथ रह सकते हैं तो:

CREATE TABLE Site (
  SiteID ENUM('1', '2', '3', '4'),
  ... and the rest



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. लेफ्ट जॉइन सभी पंक्तियों को वापस नहीं कर रहा है

  2. सबक्वेरी में दो "WHERE NOT IN" के साथ Laravel Eloquent

  3. मुझे $wpdb->तैयार करने का उपयोग कब करना चाहिए, यदि बिल्कुल भी?

  4. पीडीओ क्या है, यह एसक्यूएल इंजेक्शन से कैसे संबंधित है, और मुझे इसका उपयोग क्यों करना चाहिए?

  5. रूबी, रेल:mysql2 मणि, क्या कोई इस मणि का उपयोग करता है? क्या यह स्थिर है?