यदि आपका होस्ट आपको प्रक्रियाओं को बनाने या चलाने की अनुमति नहीं देता है, तो मुझे लगता है कि मुझे PREPARE/EXECUTE का उपयोग करके और स्कीमा को क्वेरी करने का एक और तरीका मिल गया है:
SET @s = (SELECT IF(
(SELECT COUNT(*)
FROM INFORMATION_SCHEMA.COLUMNS
WHERE table_name = 'table_name'
AND table_schema = DATABASE()
AND column_name = 'col_name'
) > 0,
"SELECT 1",
"ALTER TABLE table_name ADD col_name VARCHAR(100)"
));
PREPARE stmt FROM @s;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;