mysql新建数据时判断表,字段,索引是否存在

举报
仙士可 发表于 2023/06/14 11:50:55 2023/06/14
【摘要】 -- 新建表时判断表是否存在CREATE TABLE If Not Exists `表名` (`id` int(10) NOT NULL AUTO_INCREMENT ,`plan_id` int(10) NULL ,`bet_num` varchar(255) NULL ,`vr_win_data` varchar(255) NULL COMMENT ,PRIMARY KEY...
-- 新建表时判断表是否存在

CREATE TABLE If Not Exists `表名` (
`id`  int(10) NOT NULL AUTO_INCREMENT ,
`plan_id`  int(10) NULL  ,
`bet_num`  varchar(255) NULL  ,
`vr_win_data`  varchar(255) NULL COMMENT  ,
PRIMARY KEY (`id`)
);

-- 新建字段时判断字段是否存在

CREATE PROCEDURE sp_update_888()
BEGIN
	IF NOT EXISTS (SELECT * FROM information_schema.columns WHERE table_schema = DATABASE()  AND table_name = '表名' AND column_name = '字段名') THEN
			 ALTER TABLE 表名 ADD 字段名 int(1) default 0  ;
	END IF;
end;
call sp_update_888();
drop procedure IF EXISTS  sp_update_888;



-- 新建索引时判断索引是否存在


CREATE PROCEDURE sp_update_888()
BEGIN
	IF NOT EXISTS (SELECT * FROM information_schema.statistics WHERE table_schema=DATABASE() AND table_name = '表名' AND index_name = '索引名') THEN  
		ALTER TABLE `chenrui_lottery_open_time` ADD INDEX 索引名( `索引字段` );
	END IF;  
end;
call sp_update_888();
drop procedure IF EXISTS  sp_update_888;
复制
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。