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

किसी प्रक्रिया का उपयोग करके कॉलम के डिफ़ॉल्ट मान को कैसे बदलें

आपको डायनामिक SQL यहाँ, Default . के रूप में Alter Table में खंड परिवर्तनीय मान को हल करने में सक्षम नहीं होगा:

DELIMITER $$
CREATE PROCEDURE updateDefaultUserRole(
    IN rid_in INT
) BEGIN

    -- generate the query string for Alter Table
    SET @alter_query_str = CONCAT('ALTER TABLE _users
                                   MODIFY rid INT(255) NOT NULL 
                                   DEFAULT ', 
                                  rid_in); -- Modify the columns default value
    -- prepare the query
    PREPARE stmt FROM @alter_query_str;
    -- execute the query
    EXECUTE stmt;
    -- deallocate the query
    DEALLOCATE PREPARE stmt;

    UPDATE _users SET rid = rid_in 
    WHERE rid < rid_in; -- Update all entries lower than the role ID.

END $$
DELIMITER ;



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. java.lang.AbstractMethodError:com.mysql.jdbc.Connection.isValid(I)Z

  2. MySQL - Oracle रैंक कैसे करें () ओवर (स्कोर DESC द्वारा ऑर्डर करें)

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

  4. MySQL में 2 तिथियों के बीच रिकॉर्ड कैसे प्राप्त करें

  5. स्केलग्रिड डीबीएएएस एडब्ल्यूएस क्लाउड के माध्यम से MySQL होस्टिंग सेवाओं का विस्तार करता है