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

MySQL सेट डिफ़ॉल्ट आईडी UUID

MySQL 5.7, 8.0.12 और पुराने

MySQL 5.7 या 8.0.12 के रूप में किसी फ़ंक्शन या एक्सप्रेशन को कॉलम के डिफ़ॉल्ट मान के रूप में उपयोग करने का समर्थन नहीं करता है।

https://dev.mysql.com/doc /refman/5.7/hi/data-type-defaults.html

विकल्प यह होगा कि BEFORE INSERT . की निगरानी के लिए ट्रिगर का उपयोग किया जाए वांछित तालिका का।

DELIMITER ;;
CREATE TRIGGER `foo_before_insert` 
BEFORE INSERT ON `foo` FOR EACH ROW 
BEGIN
  IF new.id IS NULL THEN
    SET new.id = uuid();
  END IF;
END;;
DELIMITER ;

यह INSERT . का डिफ़ॉल्ट मान बदल देगा uuid() . को स्टेटमेंट मूल्य, जब तक कि इसे स्पष्ट रूप से परिभाषित नहीं किया गया हो।

MySQL 8.0.13 और नया

MySQL 8.0.13 की रिलीज़ एक व्यंजक को अब डिफ़ॉल्ट मान के रूप में उपयोग किया जा सकता है, बशर्ते वह कोष्ठकों में संलग्न हो।

उदाहरण db<>fiddle

https://dev.mysql.com/doc /refman/8.0/hi/data-type-defaults.html



  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. एकाधिक तालिकाओं में MySQL पूर्ण पाठ खोज प्रासंगिकता

  3. यदि यह मौजूद नहीं है तो mysql तालिका में कॉलम जोड़ें

  4. MySQL सर्वर का थ्रेड_स्टैक पैरामीटर - यह क्या है? यह कितना बड़ा होना चाहिए?

  5. AJAX-PHP-MySQL जनरेट की गई तालिका के लिए डायनामिक डिव टैग बनाना