-2

我尝试通过 phpmyadmin 在 localhost 上导入 MySQL 数据库,但收到此错误。这是什么意思?我该如何解决?有任何想法吗?

SQL query:

--
-- Database: `casasdl_mag`
--
--
-- Database: `casasdl`
--
-- --------------------------------------------------------
--
-- Table structure for table `admin_assert`
--
CREATE TABLE IF NOT EXISTS  `admin_assert` (

 `assert_id` INT( 10 ) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT  'Assert ID',
 `assert_type` VARCHAR( 20 ) DEFAULT NULL COMMENT  'Assert Type',
 `assert_data` TEXT COMMENT  'Assert Data',
PRIMARY KEY (  `assert_id` )
) ENGINE = INNODB DEFAULT CHARSET = utf8 COMMENT =  'Admin Assert Table' AUTO_INCREMENT =1;

MySQL said: Documentation

#1046 - No database selected  
4

6 回答 6

1

创建表时,您需要为该表选择要插入的数据库

USE databaseName;

在你的脚本之前运行它

USE casasdl;
CREATE TABLE IF NOT EXISTS  `admin_assert` (

 `assert_id` INT( 10 ) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT  'Assert ID',
 `assert_type` VARCHAR( 20 ) DEFAULT NULL COMMENT  'Assert Type',
 `assert_data` TEXT COMMENT  'Assert Data',
PRIMARY KEY (  `assert_id` )
) ENGINE = INNODB DEFAULT CHARSET = utf8 COMMENT =  'Admin Assert Table' AUTO_INCREMENT =1;
于 2013-10-16T21:20:42.180 回答
1

就像你读错了一样,你必须选择你的数据库。

USE yourDatabase;在代码开头添加。

于 2013-10-16T21:20:49.570 回答
1

mysql 或每个 db 后端应该将您的表导入数据库,因此它需要您引入一个 db 名称,实际上您应该告诉 mysql:

use mydbname;

您可以从以下位置创建它:

mysqladmin -uroot -p create mydbname
mysql -uroot -p mydbname < mysqlfile.sql
于 2013-10-16T21:21:10.697 回答
0

USE db_name语句告诉 MySQL 使用 db_name 数据库作为后续语句的默认(当前)数据库。数据库保持默认状态,直到会话结束或发出另一个 USE 语句。

参考:http ://dev.mysql.com/doc/refman/5.6/en/use.html

于 2013-10-17T12:29:18.117 回答
0

如果您使用的是外部 php,则不要使用use database语法或mysql-select_db("database");语法。而是使用mysqli_connectwhich 接受数据库名称。

于 2013-10-16T22:15:07.337 回答
0

另一个选项是在 phpmyadmin 中从左侧边栏中选择 DB 并在其中导入将起作用。

于 2013-12-03T06:58:52.493 回答