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

जाँच करें कि क्या कॉलम ALTER TABLE से पहले मौजूद है - mysql

चूंकि mysql कंट्रोल स्टेटमेंट (जैसे "IF") केवल संग्रहित प्रक्रियाओं में काम करते हैं, एक अस्थायी बनाया और निष्पादित किया जा सकता है:

DROP PROCEDURE IF EXISTS add_version_to_actor;

DELIMITER $$

CREATE DEFINER=CURRENT_USER PROCEDURE add_version_to_actor ( ) 
BEGIN
DECLARE colName TEXT;
SELECT column_name INTO colName
FROM information_schema.columns 
WHERE table_schema = 'connjur'
    AND table_name = 'actor'
AND column_name = 'version';

IF colName is null THEN 
    ALTER TABLE  actor ADD  version TINYINT NOT NULL DEFAULT  '1' COMMENT  'code version of actor when stored';
END IF; 
END$$

DELIMITER ;

CALL add_version_to_actor;

DROP PROCEDURE add_version_to_actor;


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. केकेपीएचपी 3 टाइम कॉलम में तारीख जोड़ी जाती है

  2. अजगर में mysql के साथ तैयार बयानों का उपयोग करना

  3. mysql कमांड को कैसे निष्पादित करें DELIMITER

  4. इकाई फ्रेमवर्क प्रश्नों का अनुकूलन कैसे करें

  5. MySQL क्वेरी परिणाम उनके मूल डेटा प्रकार के रूप में प्राप्त करें?