CREATE INDEX IF NOT EXIST
CREATE INDEX IF NOT EXIST这种创建索引的方式在MySQL中是不支持的,只支持CREATE INDEX,连续两次运行CREATE INDEX ,第二次会报错。
那么,我遇到这么一个问题:希望在一段升级脚本中对一个表建立索引。这段脚本可能会被反复运行,下面的写法是安全的:
if(!pdo_fieldexists('goods', 'cover_content')) {pdo_query("ALTER TABLE goods ADD `cover_content` text");
}CREATE TABLE if not exists `express` (`id` int(11) NOT NULL AUTO_INCREMENT,
);
但是,索引,不支持这种先判断后创建的模式,即不支持CREATE INDEX IF NOT EXIST,也没有给出明确接口判断一个索引是否存在。MySQL文档给出的解决方案太复杂了:http://dev.mysql.com/doc/refman/5.0/en/create-index.html
我想到了一个土鳖的办法:
if(!pdo_fieldexists('dummy_table', 'new_column')) {pdo_query("ALTER TABLE dummy_table ADD `new_column` int");create index my_index_on_goods xxxxx;
}
完美搞定!代价是搞了个不必要的列,姑且称为Guard Column吧!如果这种需求很频繁,可以专门搞一个无用的表做这个事情。
为什么MySQL不支持CREATE INDEX IF NOT EXIST呢?周一问问OceanBase是否支持这个东东。有点奇怪。
CREATE INDEX IF NOT EXIST相关推荐
- 第六章 SQL命令 CREATE INDEX(一)
文章目录 第六章 SQL命令 CREATE INDEX(一) 大纲 参数 描述 权限与锁 仅支持兼容性选项 索引名称 现有索引 表明 字段名称 嵌入对象中的字段(`%SerialObject`) 索引 ...
- sql 高级 (五)(create index(创建索引) drop)
2019独角兽企业重金招聘Python工程师标准>>> SQL create index 语句 create index语句用于在表中创建索引. 在不读取整个表的情况下,索引使数据 ...
- MySQL创建索引(CREATE INDEX)
索引的建立对于 MySQL 数据库的高效运行是很重要的,索引可以大大提升 MySQL 的检索速度. 基本语法 MySQL 提供了三种创建索引的方法: 1) 使用 CREATE INDEX 语句 可以使 ...
- 9、创建索引(CREATE INDEX)
创建索引是指在某个表的一列或多列上建立一个索引,可以提高对表的访问速度.创建索引对 MySQL 数据库的高效运行来说是很重要的. 基本语法 MySQL 提供了三种创建索引的方法: 1) 使用 CREA ...
- MySQL使用CREATE INDEX创建索引
如果,在一个已经存在的表上创建索引,可以使用CREATE INDEX语句,语法格式 CREATE [UNIQUE|FULLTEXT|SPATIAL] INDEX 索引名 ON 表名(字段名[(长度)] ...
- Kibana 创建索引 POST 403 (forbidden) on create index
一.问题描述: Kibana创建索引:kibana > management > index patterns > create index pattern 索引名称: mercha ...
- PostgreSQL的 create index concurrently
对于PostgreSQL的 "create index concurrently". 我个人认为其中存在一个bug. 我的验证过程如下: 我有两个表,tab01和 tab02,这两 ...
- 索引 CREATE INDEX
CREATE INDEX 语句用于在表中创建索引. 在不读取整个表的情况下,索引使数据库应用程序可以更快地查找数据. 索引 您可以在表中创建索引,以便更加快速高效地查询数据. 用户无法看到索引,它们只 ...
- oracle 创建索引 CREATE INDEX
CREATE INDEX -- 定义一个新索引 Synopsis CREATE [ UNIQUE ] INDEX name ON table [ USING method ]( { column | ...
最新文章
- esp32 蓝牙启动流程_TWS真无线蓝牙耳机多功能测试设备
- 力扣: 231. 2的幂 【位运算】
- java 对象创建过程_5种创建Java对象的方式
- R语言安装;Rstudio安装
- 信息学奥赛一本通(1031:反向输出一个三位数)
- linux中ftp的工作原理,Linux系统学习 十二、VSFTP服务—简介与原理
- 【英语学习】【医学】Unit 10 Tumor
- [导入]每个开发人员现在应该下载的十种必备工具
- Android WatchDog正解
- 求职 IT 少年李文星之死:请务必学会保护自己!
- 基于大数据的数据挖掘算法-大数据
- 【小白总结】NLP算法:文本研究领域与NLP文本标注工具(一)
- 如何用一个例子彻底解释白盒测试中语句覆盖、判定覆盖、条件覆盖、条件判定覆盖、条件组合覆盖?
- 方差分析 交互效应和无交互效应
- 大话西游服务器刚维护完几率,大话西游2玩家预约凌烟阁服务器瞬间成功,这算不算被几率...
- 午间一乐:no zuo no die,唱起来
- 2022年12月最新快速批量删除微博内容_新版本如何批量删除微博以前发过的博文内容
- python协程怎么做数据同步_Python 中的进程、线程、协程、同步、异步、回调
- 苹果xr如何截屏_iphone敲两下截屏如何操作 苹果手机触控截屏方法【教程步骤】...
- debounce与throttle区别
热门文章
- win7 32位 成功安装 quartus11.0+dsp builder11.0+matlab2010a联合开发
- VPI 8.6 安装时遇到的问题及解决
- TIMIT数据集介绍
- 欧姆龙、松下、基恩士PLC进行连续数据采集、时序和故障追踪的方法
- 《浪矢解忧杂货店》——品味最真实的感动
- pve虚拟机能装linux,PVE虚拟机增加硬盘
- 电子价签助力新零售超市场景科技化
- 【2021软件创新实验室暑假集训】SpringMVC框架(设计原理、简单使用、源码探究)
- 8.2 优化 SQL 语句
- GoAccess - 可视化 Web 日志分析工具