mysql 索引是否存在_mysql 判断表字段或索引是否存在

判断字段是否存在:

DROP PROCEDURE IF EXISTS schema_change;

DELIMITER //

CREATE PROCEDURE schema_change() BEGIN

DECLARE CurrentDatabase VARCHAR();

SELECT DATABASE() INTO CurrentDatabase;

IF NOT EXISTS (SELECT * FROM information_schema.columns WHERE table_schema=CurrentDatabase AND table_name = 'rtc_order' AND column_name = 'IfUpSend') THEN

ALTER TABLE rtc_order

ADD COLUMN `IfUpSend` BIT NOT NULL DEFAULT COMMENT '是否上传 是否上传';

END IF;

END//

DELIMITER ;

CALL schema_change();

判断索引是否存在:

1 DROP PROCEDURE IF EXISTS schema_change;

2 DELIMITER //

3 CREATE PROCEDURE schema_change() BEGIN

4 DECLARE CurrentDatabase VARCHAR(100);

5 SELECT DATABASE() INTO CurrentDatabase;

6 IF NOT EXISTS (SELECT * FROM information_schema.statistics WHERE table_schema=CurrentDatabase AND table_name = 'rtc_phototype' AND index_name = 'index_name') THEN

7 ALTER TABLE `rtc_Phototype` ADD INDEX index_name ( `imgtype` );

8 END IF;

9 END//

10 DELIMITER ;

11 CALL schema_change();

从这两段代码可以举一反三,可以得知很多信息,具体可以自己试验一下

mysql 判断表字段或索引是否存在 - 举一反三

判断字段是否存在: DROP PROCEDURE IF EXISTS schema_change; DELIMITER // CREATE PROCEDURE schema_change() BEGI ...

mysql 判断表字段或索引是否存在,然后修改

判断字段是否存在: DROP PROCEDURE IF EXISTS schema_change; DELIMITER // CREATE PROCEDURE schema_change() BEGI ...

mysql判断表字段或索引是否存在,然后修改

判断字段是否存在: DROP PROCEDURE IF EXISTS schema_change; DELIMITER // CREATE PROCEDURE schema_change() BEGI ...

mysql 判断表字段是否存在,然后修改

-- ---------------------------- -- 判断 vrv_paw_rule 表是否存在 thresholdMin 字段,不存在则添加; 存在则修改字段类型 DELIMITER ...

@MySQL为表字段添加索引

删除索引~ DROP INDEX `idx_dict_type` ON `article` 1.添加PRIMARY KEY(主键索引): ALTER TABLE `table_name` ADD PR ...

mysql - 查看表字段和字段描述

1.mysql查看表字段和字段描述 SELECT column_name, column_comment FROM information_schema.columns WHERE table_sch ...

mysql按表字段内容长度排序

今天遇到个需求如下: 查询一下新的业务是否正常入库,遇到的问题是新旧业务用的是同一个字段标识,唯一不同的是字段里内容的长度不同 查询方式如下,mysql按表字段内容长度排序 SELECT * FROM ...

MySQL修改表字段相关信息

昨天收获颇多,首先回顾一下有关mysql的内容. 我在查询表信息时,出现了 empty set 0.00 sec 的错误,我很奇怪,仔细检查发现原来是表字段名称写错了, 于是我想修改字段名称,经过查询 ...

MySQL处理表字段小技巧

MySQL利用正则函数替换值 update dateTest set date=REPLACE(date,'/','') where date REGEXP '\/'; SQL语句讲解: -- 将 所 ...

随机推荐

Threadlocal使用Case

Threadlocal能够为每个线程分配一份单独的副本,使的线程与线程之间能够独立的访问各自副本.Threadlocal 内部维护一个Map,key为线程的名字,value为对应操作的副本. /** ...

Java生成XML文件

我们在数据库中的数据可以将其提取出来生成XML文件,方便传输.例如数据库中有Admin这张表: 我们写一个java类表示admin数据: package xmlDom.vo; import java. ...

通过命令行连接oracle数据库/进入sql plus

1.直接打开SQL Plus登录,需要用户名和密码 开始->程序->Oracle->应用程序开发->sqlplus 我的电脑是“开始”->“Oracle - OraDb1 ...

析构函数释放内存时出现_BLOCK_TYPE_IS_VALID错误

错误信息截图: 原因: 1.内存泄漏:所以当程序退出时,系统会收回分配的内存,于是调析构函数,由于内存已被错误地释放,于是就会出现"Debug Assertion Failed"的 ...

mac 上格式化磁盘出现MediaKit报告设备上的空间不足以执行请求的解决办法

1.问题描述: 我使用是一个2T移动硬盘,分了5个区 2.分析原因:因为mac OSX的日志式格式需要有EFI分区进行引导,而我的移动硬盘是没有EFI分区的,这样的话就会出现问题: 3.解决办法: 1 ...

Android 沉浸式状态栏完美解决方案

现在搜索Android 沉浸式状态栏,真的是一堆一堆,写的特别多,但是真正用的舒服的真没有,在这里自己整理一下开发记录 注意,在使用这个步骤过程之前,请把之前设置的代码注释一下 把布局带有androi ...

input和raw_input

Python2.X使用raw_input() Python3.X废弃了raw_input()函数,使用input()函数替代它 code: data=input("please input ...

【版本管理】git分支管理

创建与合并分支: 首先,我们创建dev分支,然后切换到dev分支: git checkout -b dev,命令加上-b参数表示创建并切换, 相当于以下两条命令: git branch dev: gi ...

MFC+WinPcap编写一个嗅探器之六(分析模块)

这一节是程序的核心,也是最复杂的地方 首先需要明白的一点是,一般对于一个有界面的程序来说,往往需要多线程.本程序中除了界面线程外,抓包需要另外创建一个新的线程.在写抓包函数之前,首先要将前面两个模块的 ...

使用任意的输入流(InputStream)实例,包括字符串形式的文件路径或者 file:// 的 URL 形式的文件路径来配置

mybatis – MyBatis 3 | 入门 http://www.mybatis.org/mybatis-3/zh/getting-started.html 从 XML 中构建 SqlSessi ...

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
MySQL中,可以使用以下方法来判断索引是否存在: 首先,使用以下语句查询information_schema.statistics,检查指定索引名称的记录数量: ``` SELECT COUNT(*) INTO @cnt FROM information_schema.statistics WHERE table_name = 'your_table_name' AND index_name = 'your_index_name'; ``` 其中,'your_table_name'是要查询的名,'your_index_name'是要查询的索引名称。 然后,使用IF语句判断记录数量是否大于0,如果大于0,则索引存在,可以执行删除索引的操作;如果等于0,则索引不存在,无需执行删除操作。 以下是一个示例代码: ``` DECLARE @cnt INT; SELECT COUNT(*) INTO @cnt FROM information_schema.statistics WHERE table_name = 'your_table_name' AND index_name = 'your_index_name'; IF @cnt > 0 THEN -- 索引存在,执行删除索引的操作 CALL sp_dropindex('your_database_name', 'your_table_name', 'your_index_name'); END IF; ``` 请注意,'your_database_name'是数据库名称,'your_table_name'是名,'your_index_name'是索引名称。 这样,你就可以在删除索引之前判断索引是否存在,并根据判断结果来执行相应的操作。 #### 引用[.reference_title] - *1* [MySQL——删除索引判断是否存在索引再删除](https://blog.csdn.net/qq_29235677/article/details/119731540)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [mysql判断索引存在时删除索引的方法](https://blog.csdn.net/weixin_30923011/article/details/113604930)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值