I am using MySQL 5.1.47 on a Mac.
I have created a table named Stay in a database named LEAD.
When I do a show tables command, Stay appears in the list.
When I try to insert something into that table, MySQL tells me that it cannot find the 'stay' file, and gives me an errno of 2.
MySQL documentation indicates that if you get an errno of 2 in this case then the table doesn't exist. But its creation statement ran just fine, and its name shows up in SHOW TABLES.
What do I need to do to clear this corrupted state of affairs? Dropping the LEAD database and re-creating it does not help (oddly enough).
At one point, in case it matters, I dropped the database, and recreated it, but hadn't added an ENGINE clause to the Stay table's creation statement. Then I realized my error, dropped the database, added the appropriate clause, and recreated the database. Could the switching of engines have something to do with it? How could this file not exist?