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
+---------------------------------+ | Tables_in_business (%MyTable1%) | +---------------------------------+ | mytable1 | +---------------------------------+ 1 row in set (0.05 sec)