Error 1046 No database Selected, how to resolve?

MySQLMySQLi Database

The 1046 error occurs if you forget to select any database before creating a table. Let us see how and why this error occurs. We will try to create a table without selecting a database −

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


Look at the output above, we are getting the same 1046 error: “No database selected”

Now, we can resolve this error after selecting any database with the help of USE command −

mysql> USE business;
Database changed


Above, I have included the database with the name ‘business’. After that, we can create the same table (which we tried creating above) under the database, “business” −

mysql> CREATE table MyTable1
-> (
-> id int
-> );
Query OK, 0 rows affected (0.49 sec)


We can check whether the table is present or not in the “business” database. The query is as follows −

mysql> SHOW tables like '%MyTable1%';


The following is the output

+---------------------------------+