Training, Open Source
computer languages


PerlPHPPythonMySQLApache / TomcatTclRubyJavaC and C++LinuxCSS 

Search our site for:
Home Accessibility Courses Diary The Mouth Forum Resources Site Map About Us Contact
Does a table exist? Oracle and MySQL check

Posted by enquirer (enquirer), 19 March 2003
In my knowledge there are two different ways to check if a table in
MySQL/Oracle database already exists:

In Oracle
select count(table_name) from all_tables where table_name = 'TABLE'

In MySQL
show tables like 'TABLE'

Is there any common way for this, which can work with both the
databases?


Posted by admin (Graham Ellis), 19 March 2003
I would use

DESCRIBE tablename

which is provided in MySQL to provide Oracle compatability; if you get a good result back, the table exists.   If your SQL request fails, it doesn't exist.   With modules like the Perl DBI, you simply check the return from the request to see if it's a true value.

Posted by waygood (waygood), 1 July 2003
This is bad practice as you are treating a failure as a desired result, a failure may occur for other reasons.

Try using "SHOW TABLES" instead, it will not fall over but you do have to search through the results for the table concerned.




This page is a thread posted to the opentalk forum at www.opentalk.org.uk and archived here for reference. To jump to the archive index please follow this link.


WELL HOUSE CONSULTANTS LTD.: Well House Manor • 48 Spa Road • Melksham, Wiltshire • United Kingdom • SN12 7NY
PH: 01144 1225 708225 • FAX: 01144 1225 707126 • EMAIL: info@wellho.net • WEB: http://www.wellho.net • SKYPE: wellho