CREATE PROCEDURE update_default_values()
BEGIN
DECLARE table_name VARCHAR(255);
DECLARE done INT DEFAULT FALSE;
DECLARE cur CURSOR FOR SELECT table_name FROM information_schema.tables WHERE table_schema = DATABASE();
DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE;
OPEN cur;
read_loop: LOOP
FETCH cur INTO table_name;
IF done THEN
LEAVE read_loop;
END IF;
SET @sql = CONCAT('ALTER TABLE ', table_name, ' ALTER COLUMN xxxSET DEFAULT ''0'';');
PREPARE stmt FROM @sql;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;
SET @sql = CONCAT('ALTER TABLE ', table_name, ' ALTER COLUMN xxx SET DEFAULT ''xxx'';');
PREPARE stmt FROM @sql;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;
SET @sql = CONCAT('ALTER TABLE ', table_name, ' ALTER COLUMN xxx SET DEFAULT ''0'';');
PREPARE stmt FROM @sql;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;
END LOOP;
CLOSE cur;
END;
MYSQL存储过程批量给表的某个字段添加默认值
最新推荐文章于 2023-09-17 11:47:26 发布