> 데이터 베이스 > MySQL 튜토리얼 > Mysql中大小写敏感问题导致的MySql Error 1146 Tabel doen’t ex

Mysql中大小写敏感问题导致的MySql Error 1146 Tabel doen’t ex

WBOY
풀어 주다: 2016-06-07 16:27:55
원래의
959명이 탐색했습니다.

MySql Error 1146 Tabel doen't exist,一般情况下是表不存在,或者表名写错了、权限问题。 今天遇到了这个问题,仔细核对几遍后,确认无误,又在phpMyAdmin里尝试select,可以查询出数据。又核对权限,确认该mysql用户具有所有权限。那这个错误是怎么回事呢

MySql Error 1146 Tabel doen't exist,一般情况下是表不存在,或者表名写错了、权限问题。

今天遇到了这个问题,仔细核对几遍后,确认无误,又在phpMyAdmin里尝试select,可以查询出数据。又核对权限,确认该mysql用户具有所有权限。那这个错误是怎么回事呢?查询了一些资料后,发现如果mysql引擎不对可能会造成真实存在的表却无法访问,但是发现引擎都是myisam。

这下犯愁了,错误出在哪里呢?又找了半天,仍然无果。无辜的看着这段报错代码,发呆了半天,突然发现了一个已经被我忽视的细节,详细的报错代码为 Tabel  ABC doen't exist,这里的表名为大写,而数据库中的表名为abc(马冬注:只为举例,没有此表),是小写的。在phpMyAdmin用大写表名ABC尝试select,果然报错提示Tabel  ABC doen't exist。

到这里,问题清楚可见,原因是一个被我忽略的问题:windows服务器下,mysql的数据表是大小写不敏感的,而linux服务器默认情况下大小写敏感。如果linux服务器要修改成大小写不敏感,可以找到/etc/my.cnf,在[mysqld]下加入一行: lower_case_table_names=1。(马冬注:lower_case_table_names默认情况下为0,及表名大小写敏感;修改为1,即大小写不敏感)。如果没有修改服务器配置的权限,那就注意出现的每一个表名都要大小写一致。

不注意小细节,往往会浪费很多时间的。细节决定成败。

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿