提示没有这个表是怎么回事?

一个正在减肥的胖子 2010-12-09 09:40:11
show tables;
结果中有hdmsg表;
但是查询的时候:
SELECT * FROM dsdvrdb.hdmsg ;时,却提示表不存在,在information_schema数据库的tables中,也确实找不到dsdvrdb所有的表,但其他的数据库中的表就有,是怎么回事?

dsdvrdb中所有表都是采用innodb,其他的库中采用的是myisam。
...全文
115 18 打赏 收藏 转发到动态 举报
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
wwwwb 2010-12-10
  • 打赏
  • 举报
回复
用编辑软件如写字板、WORD之类的
  • 打赏
  • 举报
回复
我知道错误日志在哪里,是干什么的,可是怎么查看啊?用什么打开?
iihero 2010-12-09
  • 打赏
  • 举报
回复
可能跟你用的aaa.sql文件的字符集编码有关。
  • 打赏
  • 举报
回复
用source,存在很大的不确定性,有时候正常,有时候不正常。调用的是同一个方法,居然一个可以,一个不可以!
用mysql -uroot -p*** database < aaa.sqL 目前还没有发生这个错误。
就这样吧,这个该死的问题折腾了我快两天了!
wwwwb 2010-12-09
  • 打赏
  • 举报
回复
在数据库目录中是否有相应数据库及*.FRM文件
wwwwb 2010-12-09
  • 打赏
  • 举报
回复
直接
mysql -uroot -p*** database < aaa.sqL
就行 了
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 wwwwa 的回复:]

代码是什么?
我是在程序中source的。?
[/Quote]

string resumecommand1 = "mysql -hlocalhost -uroot -p***";

string resumecommand4 = "use " + databasename + ";";
string resumecommand5 = "source " + sql;

Process p = new Process();

p.StartInfo.FileName = "cmd.exe";

p.StartInfo.UseShellExecute = false;
p.StartInfo.RedirectStandardInput = true;
p.StartInfo.RedirectStandardOutput = true;
p.StartInfo.RedirectStandardError = true;
p.StartInfo.CreateNoWindow = true;

p.Start(); //启动

p.StandardInput.WriteLine(resumecommand1);
p.StandardInput.WriteLine(resumecommand4);
p.StandardInput.WriteLine(resumecommand5);

p.StandardInput.WriteLine("exit");

WWWWA 2010-12-09
  • 打赏
  • 举报
回复
代码是什么?
我是在程序中source的。?
  • 打赏
  • 举报
回复
版本完全一致
让我郁闷的是,我再次source了这两个,刚正常的变得不正常,不正常的变正常!
郁闷!

我是在程序中source的。
WWWWA 2010-12-09
  • 打赏
  • 举报
回复
如果操作正确,应该没有问题,
备份与导入的两个MYSQL版本是否一致?
  • 打赏
  • 举报
回复
不是,是我source进来的,我source了两个,一个正常,一个不正常。
WWWWA 2010-12-09
  • 打赏
  • 举报
回复
这个dsdvrdb数据库是直接COPY的?
ACMAIN_CHM 2010-12-09
  • 打赏
  • 举报
回复
[Quote=MySQL 5.1参考手册]5.11. MySQL日志文件
5.11.1. 错误日志
5.11.2. 通用查询日志
5.11.3. 二进制日志
5.11.4. 慢速查询日志
5.11.5. 日志文件维护
MySQL有几个不同的日志文件,可以帮助你找出mysqld内部发生的事情:

日志文件
记入文件中的信息类型

错误日志
记录启动、运行或停止mysqld时出现的问题。

查询日志
记录建立的客户端连接和执行的语句。

更新日志
记录更改数据的语句。不赞成使用该日志。

二进制日志
记录所有更改数据的语句。还用于复制。

慢日志
记录所有执行时间超过long_query_time秒的所有查询或不使用索引的查询。


默认情况下,所有日志创建于mysqld数据目录中。通过刷新日志,你可以强制 mysqld来关闭和重新打开日志文件(或者在某些情况下切换到一个新的日志)。当你执行一个FLUSH LOGS语句或执行mysqladmin flush-logs或mysqladmin refresh时,出现日志刷新。参见13.5.5.2节,“FLUSH语法”。

如果你正使用MySQL复制功能,从复制服务器将维护更多日志文件,被称为接替日志。相关讨论参见第6章:MySQL中的复制。

5.11.1. 错误日志
错误日志文件包含了当mysqld启动和停止时,以及服务器在运行过程中发生任何严重错误时的相关信息。

如果mysqld莫名其妙地死掉并且mysqld_safe需要重新启动它,mysqld_safe在错误日志中写入一条restarted mysqld消息。如果mysqld注意到需要自动检查或着修复一个表,则错误日志中写入一条消息。

在一些操作系统中,如果mysqld死掉,错误日志包含堆栈跟踪信息。跟踪信息可以用来确定mysqld死掉的地方。参见E.1.4节,“使用堆栈跟踪”。

可以用--log-error[=file_name]选项来指定mysqld保存错误日志文件的位置。如果没有给定file_name值,mysqld使用错误日志名host_name.err 并在数据目录中写入日志文件。如果你执行FLUSH LOGS,错误日志用-old重新命名后缀并且mysqld创建一个新的空日志文件。(如果未给出--log-error选项,则不会重新命名)。

如果不指定--log-error,或者(在Windows中)如果你使用--console选项,错误被写入标准错误输出stderr。通常标准输出为你的终端。

在Windows中,如果未给出--console选项,错误输出总是写入.err文件。

5.11.2. 通用查询日志
如果你想要知道mysqld内部发生了什么,你应该用--log[=file_name]或-l [file_name]选项启动它。如果没有给定file_name的值, 默认名是host_name.log。所有连接和语句被记录到日志文件。当你怀疑在客户端发生了错误并想确切地知道该客户端发送给mysqld的语句时,该日志可能非常有用。
mysqld按照它接收的顺序记录语句到查询日志。这可能与执行的顺序不同。这与更新日志和二进制日志不同,它们在查询执行后,但是任何一个锁释放之前记录日志。(查询日志还包含所有语句,而二进制日志不包含只查询数据的语句)。

服务器重新启动和日志刷新不会产生新的一般查...
[/Quote].
  • 打赏
  • 举报
回复

怎么查看错误日志?我不会看错误日志。
ACMAIN_CHM 2010-12-09
  • 打赏
  • 举报
回复
[Quote]最奇怪的是,我导出了aaa。sql和bbb.sql,按照程序里的方法导入,居然出现了aaa.sql成功,bbb.sql不成功,然后我删除再运行一次,bbb.sql 成功,aaa.sql不成功![/Quote]错误提示是什么?或者检查一下你的MYSQL的错误日志。
wwwwb 2010-12-09
  • 打赏
  • 举报
回复
*.SQL文件内容是什么?
  • 打赏
  • 举报
回复
回楼上的两位大哥,我的aaa.sql是在本地用mysqldump生成的。然后在本地倒进去,发生这样的错误。

最奇怪的是,我导出了aaa。sql和bbb.sql,按照程序里的方法导入,居然出现了aaa.sql成功,bbb.sql不成功,然后我删除再运行一次,bbb.sql 成功,aaa.sql不成功!
ACMAIN_CHM 2010-12-09
  • 打赏
  • 举报
回复
你的AAA。SQL的内容是什么?

56,686

社区成员

发帖
与我相关
我的任务
社区描述
MySQL相关内容讨论专区
社区管理员
  • MySQL
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧