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

सीरियल जैसा INT कॉलम

इनफॉर्मिक्स डीबीएमएस के साथ, सीरियल कॉलम डालने के बाद नहीं बदलेगा; वास्तव में, आप एक सीरियल मान को बिल्कुल भी अपडेट नहीं कर सकते हैं। आप मान के रूप में 0 के साथ एक नया सम्मिलित कर सकते हैं - जिस स्थिति में एक नया मान उत्पन्न होता है - या आप कोई अन्य मान सम्मिलित कर सकते हैं। यदि अन्य मान पहले से मौजूद है और एक अद्वितीय बाधा है, तो वह विफल हो जाएगा; यदि यह अस्तित्व में नहीं है, या यदि सीरियल कॉलम पर कोई अद्वितीय बाधा नहीं है, तो यह सफल होगा। अगर डाला गया मान पहले डाले गए सबसे बड़े मान से बड़ा है, तो डाला जाने वाला अगला नंबर फिर से एक बड़ा होगा। अगर डाला गया नंबर छोटा या नेगेटिव है, तो अगले नंबर पर कोई असर नहीं होता है।

तो, आप मूल्य को बदले बिना अपना अपडेट कर सकते हैं - कोई बात नहीं। अगर आपको नंबर बदलने की जरूरत है, तो आपको एक डिलीट एंड इन्सर्ट (या इन्सर्ट और डिलीट) करना होगा, जहाँ इंसर्ट में शून्य है। यदि आप एकरूपता पसंद करते हैं और आप लेन-देन का उपयोग करते हैं, तो आप हमेशा हटा सकते हैं, और फिर एक नई संख्या को ट्रिगर करने के लिए एक ही संख्या या शून्य के साथ पंक्ति डालें। यह मान लें कि आपके पास SQL ​​​​चलाने वाली प्रोग्रामिंग भाषा है; मुझे नहीं लगता कि आप ISQL में बदलाव कर सकते हैं और इसे स्वचालित रूप से करने के लिए परफॉर्म कर सकते हैं।

इसलिए, इस समय, मुझे Informix पर समस्या दिखाई नहीं दे रही है।

आईडीएस के उपयुक्त संस्करण (कुछ भी समर्थित है) के साथ, आप सम्मिलित मूल्यों को भी नियंत्रित करने के लिए SEQUENCE का उपयोग कर सकते हैं। यह Oracle सिंटैक्स और अवधारणा पर आधारित है; DB2 भी इसका समर्थन करता है। अन्य डीबीएमएस में ऑटो-जेनरेटेड नंबरों को संभालने के लिए अन्य समकक्ष (लेकिन अलग) तंत्र हैं।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. 30 दिन पुराने सभी रिकॉर्ड चुनें

  2. बहु-स्तरीय श्रेणी के लिए डेटाबेस संरचना (सर्वश्रेष्ठ दृष्टिकोण)

  3. विदेशी कुंजी आईडी के साथ 2 टेबल में शामिल होना

  4. MySql दो प्रश्नों को मिलाएं (उप-चयन या शामिल हों या संघ)

  5. फ्री MySQL सिंक्रोनाइज़ेशन टूल