अगर आप काम करने के लिए स्क्रिप्ट नहीं लिख सकते हैं, तो एक स्क्रिप्ट लिखें जो काम करने के लिए एक स्क्रिप्ट लिखती है!
आप ALTER TABLE कथनों का एक समूह चाहते हैं:
SET SESSION group_concat_max_len = 1000000; -- Bumps the limit of 1028
SELECT GROUP_CONCAT(
CONCAT(
'ALTER TABLE `',
table_name,
'` MODIFY COLUMN `',
column_name,
'` VARCHAR(',
character_maximum_length,
')'
)
SEPARATOR ';\n') your_alter_statements
FROM information_schema.columns
WHERE table_schema = 'concrete'
AND data_type = 'char';
इसका परिणाम होगा:
ALTER TABLE `table1` MODIFY COLUMN `col1` VARCHAR(10);
ALTER TABLE `table1` MODIFY COLUMN `col2` VARCHAR(10);
ALTER TABLE `table2` MODIFY COLUMN `col1` VARCHAR(10);
ALTER TABLE `table3` MODIFY COLUMN `col1` VARCHAR(10);
ALTER TABLE `table3` MODIFY COLUMN `col2` VARCHAR(10);
उसे चलाओ और तुम जल्दी घर जा सकते हो!
अद्यतन:group_concat_max_len
. जोड़कर काट-छांट को रोक दिया . कॉलम की लंबाई के आधार पर लंबाई को गतिशील बनाया।