可能重复:
SQL Server: Check if table exists
Oracle: If Table Exists
我正在尝试创建一个表并插入一些值,但在此之前我必须确保该表尚不存在。你怎么检查这个?
答案 0 :(得分:1)
您可以尝试从中选择并捕获错误,否则您将需要编写特定于DB的SQL来查询其各自的元数据表并查看。
答案 1 :(得分:0)
如果MySQL:
select count(*) from my_tables where table_name='table_1';
If count>0 then ...
答案 2 :(得分:0)
假设SQL Server ...查询sysobjects:
select * from sysobjects where xtype='U' and name ='tablename'
答案 3 :(得分:0)
在MySQL中,您可以使用CREATE TABLE IF NOT EXISTS构造并在INSERT查询之前运行它。如果表不存在,这将创建表,如果表存在则不会执行任何操作。
CREATE TABLE IF NOT EXISTS myTable (
....
)
http://dev.mysql.com/doc/refman/5.1/en/create-table.html
http://docs.oracle.com/cd/E17952_01/refman-5.1-en/create-table.html
答案 4 :(得分:0)
这个简单的查询为您提供有关oracle中用户创建的特定表的详细信息。试试吧。
select * from user_tables where table_name = 'tablename';