一个库里有一个表无法select

sorush 发布于 2012/08/10 11:46
阅读 401
收藏 0

一个数据库里有一个表,在用MySQL Workbench执行select * from t_uc时报错:

Error Code: 1146. Table 'uu.t_uc' doesn't exist

其中uu是数据库名,t_uc是表名。

用mysql命令行可以查询,但是用其他客户端或程序无法读取。这个库里的其他表都没问题。只有这个表出现这种情况,我看了一下表内容和表结构,没发现什么可疑情况!请问可能是什么原因?

加载中
0
寒焰
寒焰

先确认下登陆权限吧,在你部署应用程序的机子上在命令行远程登录,并可执行use uu;命令。

若上面没有问题,在mysql配置文件中检查下是否有lower_case_table_names=1,没有的话加上,重启mysql后再试试。

0
寒焰
寒焰

看看是否是权限问题

0
William
William

uu應該是表的scheme?

客戶端可以不用uu這個?

你試下: select * from dbo.t_uc

 

0
idea_biu
idea_biu
带上全称:select * from 库.表
0
s
sorush

权限倒是没问题,我用的是root

不知怎么的,客户端执行select * from又可以了。但是程序读取还是提示相同的问题。

可是奇怪的是这个程序读取另外一台机器同样的库却正常。我觉得问题应该不是出在程序上,但是两台机器相同的这个库我也对比了一下,没发现什么区别。两个mysql的版本相同,又都是用同一个sql文件导入的。哎!

0
王志湖
王志湖
权限问题吧,注意IP和域名的区别
0
寒焰
寒焰

用root不一定就没有权限问题,呵呵,

mysql中“用户名@ip”表示一个用户,用户名相同,ip不同,可能不是一个用户,%可以表示匹配所有。

一般来讲,默认的root不能远程登录的。

你可以对比下你两个数据库中mysql.user表看看。

0
寒焰
寒焰
忘了重要的一点,若数据库在linux上,是不是表明大小写问题造成的。
0
s
sorush
我看了一下,两台mysql的root的权限都有 %  localhost  127.0.0.1 这三个。权限也都是Y,密码也都有。
0
s
sorush

两台mysql都是linux,表名的话应该也不是问题,因为是同一套程序。

哎!我找了半天原因,还没找到原因,实在太奇怪了。

返回顶部
顶部