Just a note. With Justin's example, the SELECT *does* issue a warning in MariaDB 10. The same SELECT on an empty table returns a warning only on MySQL 5.6, not on MariaDB 10. IMO, the user should be aware that his program is buggy, no matter if the table is empty or not.

Federico