5

我正在尝试检查一个表是否已经存在,但是我无法让它工作。

IF EXISTS (SELECT 1 
    FROM sysobjects 
    WHERE xtype='u' AND name='tablename') 
        SELECT 'table already exists.' 
ELSE 
BEGIN
     CREATE TABLE Week_(
             id INT(10)AUTO_INCREMENT PRIMARY KEY (id),
             ...
             ...)
             END; 

我的错误:

#1064 - 您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以在第 1 行的 'IF EXISTS (SELECT 1 FROM sysobjects WHERE xtype='u' AND name' 附近使用正确的语法

有人可以帮我弄这个吗?

提前致谢

4

2 回答 2

17

在 MySQL 中,您可以使用以下语法:

CREATE TABLE IF NOT EXISTS

http://dev.mysql.com/doc/refman/5.1/en/create-table.html

于 2012-12-10T10:59:38.227 回答
7

试试这个:

SELECT * 
FROM information_schema.TABLES 
WHERE TABLE_SCHEMA = 'DBName' AND TABLE_NAME = 'TableName'

或者

CREATE TABLE IF NOT EXISTS 'TableName'
于 2012-12-10T10:58:50.130 回答