ERROR 1046 (3D000) at line 22: No database selected解决方法

在练习mysql过程当中,因为要删除表,因此提早对表作了一个备份,可是在还原的时候却老是提示以下错误:ERROR 1046 (3D000) at line 22: No database selectedmysql

备份命令以下sql


[root@DB ~]# mysqldump  -uroot -p123456 addam test >/home/addam_test_bak.sql

检查/home下是否有备份bash


[root@DB ~]# ll /home
-rw-r--r--  1 root      root      2132 Sep 11 23:54 addam_test_bak.sql

查看备分内容,内容已经存在。ide

开始试验,使用drop删除掉addam库中的test表,删除没问题。为了之后的试验,我如今想要将test恢复,就开始报错测试

[root@DB ~]# mysql -uroot -p123456 </home/addam_test_bak.sql
ERROR 1046 (3D000) at line 22: No database selected

仔细的检查了一下备份文件的22行,发如今22行是DROP TABLE IF EXISTS `test`;固然会找不到了,由于个人test表示建立在addam的库中的,解决办法就是在它前面加入一条use addam;spa


21 USE addam;
22 DROP TABLE IF EXISTS `test`;

而后保存退出!再次执行恢复命令,问题得以解决!it

那么有人说,删除这一行能够不能够呢?通过试验测试,是不能够滴,呵呵~class

20 --
21 /*!40101 SET @saved_cs_client     = @@character_set_client */;
22 /*!40101 SET character_set_client = utf8 */;
23 CREATE TABLE `test` (

删除这一行以后,仍是会报一样的错误,由于这个第23行它仍是不知道在哪一个库里去建立,因此仍是直接加一条use addam;比较好。test

具体有没有其余办法我还不清楚,由于网上的有些问题跟个人不同,我也是第一次遇见这种问题,不知道就是解决方法是对是错,只是暂时解决问题。若是哪位大牛有其余的办法,请帮忙指点一下,谢谢!
cli

相关文章
相关标签/搜索