首页 > 数据库技术 > 详细

mysql 数据库中的每张表加同一个字段(避免重复加)

时间:2019-12-12 11:43:22      阅读:99      评论:0      收藏:0      [点我收藏+]
DROP PROCEDURE IF EXISTS testEndHandle;
DELIMITER $$

 CREATE PROCEDURE testEndHandle()
BEGIN
  DECLARE s_tablename VARCHAR(100);
 
 /*显示表的数据库中的所有表
 SELECT table_name FROM information_schema.tables WHERE table_schema=‘databasename‘ Order by table_name ;
 */

#显示所有
 DECLARE cur_table_structure CURSOR
 FOR 
 SELECT table_name 
 FROM INFORMATION_SCHEMA.TABLES 
 WHERE table_schema = ‘zhyjkfwzx‘ AND table_name NOT IN (
 SELECT t.table_name  FROM (
	 SELECT table_name,column_name FROM information_schema.columns 
	 WHERE table_name IN ( 
		SELECT table_name 
		FROM INFORMATION_SCHEMA.TABLES 
		WHERE table_schema = ‘zhyjkfwzx‘) and table_schema = ‘zhyjkfwzx‘
	 ) t WHERE t.column_name=‘upload‘ 
 );

 DECLARE CONTINUE HANDLER FOR SQLSTATE ‘02000‘ SET s_tablename = NULL;

 OPEN cur_table_structure;

 FETCH cur_table_structure INTO s_tablename;
 
 WHILE ( s_tablename IS NOT NULL) DO
  SET @MyQuery=CONCAT("alter table `",s_tablename,"` add COLUMN `upload` VARCHAR(4)  DEFAULT ‘0‘");
  PREPARE msql FROM @MyQuery;
  
  EXECUTE msql ;#USING @c; 
   
  FETCH cur_table_structure INTO s_tablename;
  END WHILE;
 CLOSE cur_table_structure;

 
END;
 $$ 
 #执行存储过程
 CALL testEndHandle();

  注:低版本的mysql-front运行不成功,需要高版本或者navicat

mysql 数据库中的每张表加同一个字段(避免重复加)

原文:https://www.cnblogs.com/gaara-zhang/p/12027761.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!