[QA] MySQL Error 1050(42S01): Table already exist
【环境说明】
1:MySQL Server 5.5
2:MyEclipse 2014
3:JDK 1.7
造成该问题的可能原因:
1:用 Java 读取 SQL 文件,并执行其中的 sql 语句,但是中间执行错误,导致创建数据库或者创建表格失败;
2:在 MySQL 服务未关闭(进程中有 mysqld.exe 或 mysql.exe)情况下,手动对 MySQL 的 data 目录下的数据库进行操作(删除、移动等)
解决办法:
1:使用命令
DROP TABLE IF EXISTS tablename;
REPAIR TABLE tablename;
如下图所示:
2:考虑 MySQL 的存储引擎,默认的是 default-storage-engine=InnoDB,如果创建的数据库的引擎是 MyISAM,则要在配置文件 my.ini 中将语句做对应的修改
注:该方法在网上搜到的,本人尝试后发现不受该设置影响,不过您可以做一下尝试的。
MyISAM 和 InnoDB 存储引擎的比较
主要区别:
•MyISAM 是非事务安全型的,而 InnoDB 是事务安全型的。
•MyISAM 锁的粒度是表级,而 InnoDB 支持行级锁定。
•MyISAM 支持全文类型索引,而 InnoDB 不支持全文索引。
•MyISAM 相对简单,所以在效率上要优于 InnoDB,小型应用可以考虑使用 MyISAM。
•MyISAM 表是保存成文件的形式,在跨平台的数据转移中使用 MyISAM 存储会省去不少的麻烦。
•InnoDB 表比 MyISAM 表更安全,可以在保证数据不会丢失的情况下,切换非事务表到事务表
(alter table tablename type=innodb)。
应用场景:
•MyISAM 管理非事务表。它提供高速存储和检索,以及全文搜索能力。如果应用中需要执行大量的 SELECT 查询,
那么 MyISAM 是更好的选择。
•InnoDB 用于事务处理应用程序,具有众多特性,包括 ACID 事务支持。如果应用中需要执行大量的 INSERT 或 UPDATE 操作,
则应该使用 InnoDB,这样可以提 高多用户并发操作的性能。
3:主要的原因大部分是因为还没有停止 MySQL 服务就手动对 data 目录下的数据库进行人工操作,导致虽然在目录下看不到该数据库以及其中的表格,或者通过命令也无法查找到对应的表格,但是无论如何都不能创建对应的表格,出现1050错误,原因是 mysql 服务的未关闭,导致存储空间中仍旧保留着该表的记录。
所以只要在停止服务后,再手动去 data 目录下删除该数据库,然后重启 mysql 服务,应该就可以再次创建对应的数据库以及表。
转载于:https://www.cnblogs.com/memento/p/4678113.html
[QA] MySQL Error 1050(42S01): Table already exist相关推荐
- 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语句,但是中间执行错误 ...
- 【快速解决】ERROR 1050 (42S01): Table ‘/#sql-ibxxxxx‘ already exists
至于为什么会产生#sql-ib为前缀的表,这里不深究了.第一次遇到这种问题,心里还是有点慌,网上的解决方案也是五花八门,然而没有一个适合我,这里给出我的解决思路: 1 导出目标表的结构和数据 2 原表 ...
- MySql Error 1146 Tabel doen't exist
最近在导入数据库的时候出现问题:MySql Error 1146 Tabel doen't exist 解决办法: 1. mysql -uroot -proot登录到数据库 2. use databa ...
- mysql doen s exist_Mysql中大小写敏感问题导致的MySql Error 1146 Tabel doen’t exist错误
MySql Error 1146 Tabel doen't exist,一般情况下是表不存在,或者表名写错了.权限问题. 今天遇到了这个问题,仔细核对几遍后,确认无误,又在phpMyAdmin里尝试s ...
- mysql doen s exist_Mysql实例Mysql中大小写敏感问题导致的MySql Error 1146 Tabel doen’t exist错误...
<Mysql实例Mysql中大小写敏感问题导致的MySql Error 1146 Tabel doen't exist错误>要点: 本文介绍了Mysql实例Mysql中大小写敏感问题导致的 ...
- mysql doen s exist_Mysql中大小写敏感问题导致的MySql Error 1146 Tabel doen’t exist错误_MySQL...
MySql Error 1146 Tabel doen't exist,一般情况下是表不存在,或者表名写错了.权限问题. 今天遇到了这个问题,仔细核对几遍后,确认无误,又在phpMyAdmin里尝试s ...
- centos mysql 1146_MySQL查询报错:ERROR 1146 (42S02): Table 'craw.sitePageConfig' doesn't exist
今天一同事咨询mysql的问题,在mysql主库访问某个表报错, 但是备库上可以,感觉有点奇怪.即使不同步, 也不能说主库不能访问啊. 既然是主备,就从主备同步开始查.各种show master st ...
- doesnt exist table_MYSQL ERROR 1146 Table doesnt exist 解析
原创转载请注明出处 源码版本 5.7.14 在MYSQL使用innodb的时候我们有时候会看到如下报错: ERROR 1146 (42S02): Table 'test.test1bak' doesn ...
- ERROR 1146 (42S02): Table ‘xxxxxxx‘ doesn‘t exist模拟删表删库恢复
ERROR 1146 42S02: Table doesn't exist模拟删表删库恢复 0. 事件概要 1.准备工作 1.1 确保binlog配置文件 1.2 建立binlog目录 1.3 重启M ...
最新文章
- 解决Wireshark 服务运行于非默认端口问题
- uvalive4840(n*n方阵的最小花费)
- sparklines插件_21个实用的Javascript数据图表插件
- python request.post 字典参数以json_Python requests.post方法中data与json参数区别详解
- 动态游标for循环_数据结构系列循环链表
- linux树形看磁盘,2 - 3、Linux—磁盘分区和挂载【2021-3-3】
- java学生奖学金管理系统_EasyUI+JavaWeb奖助学金管理系统[6]-登录功能实现
- 在图片控件中应用win32显示图片总结
- 使用k-近邻算法进行分类
- IOS开发之----四舍五入问题
- overflow与BFC解说
- (转)谁是全球资管规模之冠?
- 视频教程-C语言编程入门100题(实战编程)-C/C++
- Linux驱动之TTY(一):概念
- 三星android文件传输,三星手机怎么连接电脑?三星手机连接电脑传输文件教程...
- 小学生计算机按键分布图,小学生计算器上各种按键的作用
- bzoj1127 [POI2008]KUP
- openGL参数曲面----二次贝塞尔曲线
- 令人激动的语音UI背后
- winrar v3.8 的注册码
热门文章
- 每天一个linux命令(20):find命令之exec
- Android架构师教你如何突破瓶颈,快来收藏!
- 【深度学习笔记】python图像特征提取
- 7-22 堆栈模拟队列 (25 分)
- vant weapp 多选上传图片_iPhone竟然可以压缩图片?一秒1.7MB瞬间变0.08MB,太逆天了吧...
- toad dba suite for oracle 12.1,Toad for Oracle 12.1下载地址
- 模拟usb设备_高速USB数据采集卡
- mac在linux虚拟机gromacs,如何在MacBook上安装gromacs
- 如何做网络营销推广浅析网站优化要做好哪些优化会获得搜索引擎的青睐?
- 国际分析师郭明錤:网络营销外包之下苹果头戴装置主要供应商被曝光!