可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试):

问题:

This DROP TABLE IF EXISTS works, too bad that RENAME TABLE IF EXISTS doesn't work.

Can anyone suggest a solution for this query? You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF EXISTS video_top_day TO video_top_day_for_delete' at line 1

query: RENAME TABLE IF EXISTS video_top_day TO video_top_day_for_delete

回答1:

I've managed to execute a code that always works and generates no errors when the table doesn't exist: SELECT Count(*) INTO @exists FROM information_schema.tables WHERE table_schema = [DATABASE_NAME] AND table_type = 'BASE TABLE' AND table_name = 'video_top_day'; SET @query = If(@exists>0, 'RENAME TABLE video_top_day TO video_top_day_for_delete', 'SELECT \'nothing to rename\' status'); PREPARE stmt FROM @query; EXECUTE stmt;

When you don't want to replace [DATABASE NAME] manually you can use the following variable SELECT DATABASE() INTO @db_name FROM DUAL;

回答2:

First create table IF NOT EXISTS. Then RENAME it, so it will always exist!

Otherwise, rename the table, and if it doesn't exist just handle the error.

It is obvious, but it works.

回答3:

There's no official solution yet. There has been feature request submitted in 2004, never closed

回答4:

create table table2 like table1; insert into table2 select * from table1; drop table table1;

回答5:

If you are familiar with PL/SQL, then you can check for existence of table by querying information_schema.columns and based on this perform rename

回答6:

rename table oldtablename to newtablename

mysql rename table_Mysql: RENAME TABLE IF EXISTS相关推荐

  1. mysql 42s01_【Q】MySQL Error 1050(42S01): Table already exists

    [环境说明] 1:MySQL Server 5.5 2:MyEclipse 2014 3:JDK 1.7 造成该问题的可能原因: 1:用Java读取SQL文件,并执行其中的sql语句,但是中间执行错误 ...

  2. mysql alter table_mysql alter table 修改表命令详细介绍

    MySQL ALTER语法如下: ALTER [IGNORE] TABLE tbl_name alter_spec [, alter_spec ...] alter_specification: AD ...

  3. mysql open table_MySQL open table

    背景: MySQL经常会遇到Too many open files,MySQL上的open_files_limit和OS层面上设置的open file limit有什么关系? 源码中也会看到不同的数据 ...

  4. mysql alter table_mysql ALTER TABLE 的用法

    在表格被建立在资料库中后,我们常常会发现,这个表格的结构需要有所改变.常见的改变如下: 加一个栏位 删去一个栏位 改变栏位名称 改变栏位的资料种类 以上列出的改变并不是所有可能的改变.ALTER TA ...

  5. mysql check table_mysql check table

    {"moduleinfo":{"card_count":[{"count_phone":1,"count":1}],&q ...

  6. mysql reopen table_mysql 临时表 cann't reopen解决方案

    当你创建临时表的时候,你可以使用temporary关键字.如:复制代码 代码如下:create temporary table tmp_table(name varchar(10) not null, ...

  7. 架构师技能6:深入MySQL原理-Waiting for table metadata lock引发系统崩溃

    开篇语录:以架构师的能力标准去分析每个问题,过后由表及里分析问题的本质,复盘总结经验,并把总结内容记录下来.当你解决各种各样的问题,也就积累了丰富的解决问题的经验,解决问题的能力也将自然得到极大的提升 ...

  8. [QA] MySQL Error 1050(42S01): Table already exist

    [环境说明] 1:MySQL Server 5.5 2:MyEclipse 2014 3:JDK 1.7 造成该问题的可能原因: 1:用 Java 读取 SQL 文件,并执行其中的 sql 语句,但是 ...

  9. 7.mysql用户管理,总结-count,exists,in,view易错点

    1.理论 /*创建本地用户teacher,密码为123456,本地用户student,无密码 */ create user `teacher`@`localhost` identified by '1 ...

最新文章

  1. 【BZOJ5470】【FJOI2018】—所罗门王的宝藏(BFS)
  2. mybatis入门(四)----输入映射和输出映射
  3. Python实训day03am【sort、函数式编程、过滤器、lambda、文本文件读写】
  4. 传统手工特征--opencv
  5. Android之查看网络图片和网页HTML
  6. UI素材资源|Material风格的插图,有品位的素材
  7. java闰年满五换行_CoreJava练习题
  8. python里进度条编程_Python实现控制台中的进度条
  9. 类似QQ下拉出现搜索
  10. 斐讯K2刷回原厂固件
  11. WMS仓库管理系统出入库流程管理
  12. ROS 机器人操作系统:概述
  13. 记一次搜狐畅游后台开发笔试
  14. 怎样把jpg格式转换成pdf
  15. 九龙证券|一夜暴跌36%,美股走势分化,标普指数创近2月最差周度表现
  16. CDISC SDTM IE domain学习笔记
  17. 湖南工学院专升本过程与总结
  18. [week1]每周总结与工作计划
  19. 三坐标检测 Visual DMIS
  20. LTspice入门01——Control Panel(控制面板)

热门文章

  1. python webbrowser_python webbrowser模块(浏览器操作)
  2. 面向服务的分析与设计原理
  3. 在java面向对象编程中_谈一谈你对封装_继承_多态概念的理解_Java新职篇:面向对象编程的3个原则是什么?...
  4. 青岛经济职业学校计算机老师,青岛经济职业学校2021年录取分数线
  5. mysql 从服务器_如何使用mysql 主从服务器
  6. matlab slovenia,QUAD-MxFE Platform
  7. Java各种数据类型的转换
  8. oracle 052考试,Oracle OCP认证考试题库解析052-5
  9. mysql adminer 导入csv_mysql导入csv的4种报错的解决方法
  10. 表格布局页面_对于表格布局管理器的回顾以及接下来的目标