错误
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
这里需要帮助。
如果您试图通过命令行完成此操作…
如果你试图从命令行界面运行CREATE TABLE语句,你需要在执行查询之前指定你正在使用的数据库:
USE your_database;
这是文档。
如果你试图通过MySQL Workbench来做这件事…
...你需要在:Object Browser:选项卡上方的下拉菜单中选择适当的数据库/目录。您可以为连接指定默认的模式/数据库/目录—单击Workbench启动屏幕的SQL Development标题下的“Manage Connections”选项。
齿顶高
这一切都假设有一个数据库,你想要在其中创建表-如果不是,你需要在其他任何事情之前创建数据库:
CREATE DATABASE your_database;
我想我迟到了抱歉
如果你在这里和我一样,当这个错误发生在mysqldump而不是mysql时,尝试这个解决方案,我在一个德国网站上偶然发现的,所以我想和像我一样头疼的无家可归的人分享。
因此,问题的发生是因为在数据库名称之前缺少-databases参数
所以你的命令必须是这样的:
mysqldump -pdbpass -udbuser --databases dbname
在我的情况下,问题的另一个原因是,我在本地开发和根用户没有密码,所以在这种情况下,你必须使用——password=而不是-pdbpass,所以我的最终命令是:
mysqldump -udbuser --password= --databases dbname
链接到完整的线程(德语):https://marius.bloggt-in-braunschweig.de/2016/04/29/solution-mysqldump-no-database-selected-when-selecting-the-database/
检查您是否已经首先创建了您想要的数据库。
如果你还没有创建数据库,你必须触发这个查询:
CREATE DATABASE data_base_name
如果你已经创建了数据库,那么你可以简单地启动这个查询,你将能够在你的数据库上创建表:
CREATE TABLE `data_base_name`.`table_name` (
_id int not null,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Age int,
PRIMARY KEY (_id)
);