您的位置:首页 > 数据库

sql可重复执行语句例子

2015-12-24 11:23 330 查看
1.添加字段

SET @add__on_admin = (SELECT IF(
(SELECT count(1)
FROM INFORMATION_SCHEMA.COLUMNS
WHERE table_name = 'admin'
AND table_schema = DATABASE()
AND column_name = 'lft'
) > 0,
"select 'admin exist lft'",
"alter table admin add column lft int(11) unsigned COMMENT '树形结构使用'; "
));
PREPARE stmt FROM @add_lft_on_admin;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;

-- 可重复性添加索引

DROP PROCEDURE IF EXISTS add_index_to_macc_stalog_1;
DELIMITER //
CREATE PROCEDURE add_index_to_macc_stalog_1() BEGIN
DECLARE CurrentDatabase VARCHAR(250);
SELECT DATABASE() INTO CurrentDatabase;
IF NOT EXISTS (SELECT * FROM information_schema.statistics WHERE table_schema=CurrentDatabase AND table_name = 'macc_stalog_1' AND index_name = 'idx_ssid') THEN
ALTER TABLE `macc_stalog_1` ADD INDEX idx_ssid ( `ssid` );
ELSE
select "macc_stalog_1 is already exist idx_ssid";
END IF;
END//
DELIMITER ;
CALL add_index_to_macc_stalog_1();
DROP PROCEDURE IF EXISTS add_index_to_macc_stalog_1;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: