如果您在创建表之前忘记选择任何数据库,则会发生1046错误。让我们看看如何以及为什么发生此错误。我们将尝试在不选择数据库的情况下创建表-mysql> CREATE table MyTable1
-> (
-> id int
-> );
ERROR 1046 (3D000): No database selected
Or
mysql> INSERT into sample values(1);
ERROR 1046 (3D000): No database selected
查看上面的输出,我们得到相同的1046错误:“未选择数据库”
现在,我们可以在使用USE命令选择任何数据库之后解决此错误-mysql> USE business;
Database changed
上面,我包含了名称为“ business”的数据库。之后,我们可以在数据库“ business”下创建相同的表(我们尝试在上面创建)-mysql> CREATE table MyTable1
-> (
-> id int
-> );
我们可以检查“业务”数据库中是否存在该表。查询如下-mysql> SHOW tables like '%MyTable1%';
以下是输出+---------------------------------+
| Tables_in_business (%MyTable1%) |
+---------------------------------+
| mytable1 |
+---------------------------------+
1 row in set (0.05 sec)