错误 SQL查询:

--
-- Database: `work`
--
-- --------------------------------------------------------
--
-- Table structure for table `administrators`
--
CREATE TABLE IF NOT EXISTS `administrators` (

`user_id` varchar( 30 ) NOT NULL ,
`password` varchar( 30 ) NOT NULL ) ENGINE = InnoDB DEFAULT CHARSET = latin1;

MySQL说:

#1046 - No database selected

这里需要帮助。


当前回答

首先选择数据库:使用db_name

然后创建表:CREATE table tb_name ( id int, 名字varchar (255), 工资int, 城市varchar (255) );

这是mysql 5.5版本语法

其他回答

注意使用空密码

mysqldump [options] -p '' --databases database_name

将要求密码和抱怨mysqldump:得到错误:1046:“没有数据库选择”时,选择数据库

问题是-p选项要求-p和密码之间没有空格。

mysqldump [options] -p'' --databases database_name

解决了问题(不再需要引号)。

如果导入数据库,则需要先创建同名的数据库,然后选择该数据库,然后将现有数据库导入其中。

希望它对你有用!

只是想补充:如果你在一个活跃的网站上创建一个mySQL数据库,然后进入PHPMyAdmin和数据库不显示-注销cPanel,然后登录回来,打开PHPMyAdmin,它现在应该在那里。

当我试图导入以前创建的数据库时,我遇到了同样的错误。以下是我解决这个问题的方法:

创建新的数据库

2—使用Use命令

3-再试一次

这对我很有用。

如果您试图通过命令行完成此操作…

如果你试图从命令行界面运行CREATE TABLE语句,你需要在执行查询之前指定你正在使用的数据库:

USE your_database;

这是文档。

如果你试图通过MySQL Workbench来做这件事…

...你需要在:Object Browser:选项卡上方的下拉菜单中选择适当的数据库/目录。您可以为连接指定默认的模式/数据库/目录—单击Workbench启动屏幕的SQL Development标题下的“Manage Connections”选项。

齿顶高

这一切都假设有一个数据库,你想要在其中创建表-如果不是,你需要在其他任何事情之前创建数据库:

CREATE DATABASE your_database;