51代码网ORACLEMYSQLSQL SERVER其它数据库java/jspasp/asp.netC/C++/VC++APP应用其它语言服务器应用
您现在的位置: 51代码网 >> mysql >> 文章正文

mysql表结构升级时根据字段是否存在执行相应操作

更新时间:2012-1-3:  来源:51代码网
(
  table_name VARCHAR(50),
  colume_name varchar(50)

RETURNS BOOLEAN 
BEGIN 
  DECLARE t_count TINYINT UNSIGNED; 
  SELECT count(0) INTO t_count FROM information_schema.COLUMNS where TABLE_NAME=table_name && (isnull(colume_name) || colume_name= ' ' || COLUMN_NAME=colume_name); 
  RETURN t_count> 0; 
END$$ 

DROP PROCEDURE if EXISTS `db_waasai`.`sp_update_106_107` $$ 
CREATE PROCEDURE `db_waasai`.`sp_update_106_107`() 
BEGIN 
  IF NOT CheckIsObjectExist( 'tbl_user_card ', ' ') THEN 
  CREATE TABLE `tbl_user_card` ( 
  `u_id` SMALLINT(6) UNSIGNED NOT NULL AUTO_INCREMENT, 
  `u_status` TINYINT(1) UNSIGNED DEFAULT '0 ', 
  `u_name` VARCHAR(20) NOT NULL, 
  PRIMARY KEY (`u_id`) 
  ) ENGINE=MyISAM DEFAULT CHARSET=utf8 CHECKSUM=1 DELAY_KEY_WRITE=1 ROW_FORMAT=DYNAMIC; 
  END IF; 

  IF NOT CheckIsObjectExist( 'tbl_user ', 'u_cards_num ') THEN 
  alter table `tbl_user` add column `u_cards_num` int (12) UNSIGNED DEFAULT '0 ' NULL after `u_age`; 
  update `tbl_user` set `u_cards_num`=1; 
  END IF; 
END$$ 
DELIMITER; 

CALL sp_update_106_107(); 
DROP PROCEDURE IF EXISTS `lsgw`.`sp_update_106_107`;
[code]

上一页  [1] [2] 

  • 上一篇文章:
  • 下一篇文章: 没有了
  • 赞助商链接
    推荐文章
  • 此栏目下没有推荐文章
  • {
    设为首页 | 加入收藏 | 友情链接 | 网站地图 | 联系站长 |