mysql 5.7 drop table,mysql5.7出现不能删除某张表的情况

在test库下,创建表TCUSTOMERNODE,创建语句为:

create table TCUSTOMERNODE

(

khh      VARCHAR(30) not null,

khxm     VARCHAR(16) not null,

khqc     VARCHAR(80),

nodetype INTEGER not null

);

由于一些原因,想让linux下的MySQL数据库忽略表名大小写,在my.cnf配置参数里添加lower_case_table_names=1参数,(如在配置mycat的情况,需要忽略表名大小写)

重启数据库。

重新进入mysql,想要删除表TCUSTOMERNODE;就会报以下错误。

mysql> show tables;

+-------------------+

| Tables_in_transdb |

+-------------------+

| TCUSTOMERNODE     |

| employee          |

| orders            |

| stock             |

| student           |

+-------------------+

5 rows in set (0.00 sec)

mysql> drop table tcustomernode;

ERROR 1051 (42S02): Unknown table 'transdb.tcustomernode'

mysql> drop table TCUSTOMERNODE;

ERROR 1051 (42S02): Unknown table 'transdb.tcustomernode'

不管你用大写还是小写表名,都删除不了TCUSTOMERNODE表。

原因是mysql把你要执行的sql语句都转化成小写,把tcustomernode转化成小写,而MySQL库里存的是大写,执行过程,就找不到tcustomernode表了,就出现以上情况,如果你想删除tcustomernode表,把my.cnf配置参数里的参数lower_case_table_names=1注释掉,重启数据库,

再次执行删除,就OK了。

mysql> drop table TCUSTOMERNODE;

Query OK, 0 rows affected (0.12 sec)

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值