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 構文にエラーがあります。'IF EXISTS (SELECT 1 FROM sysobjects WHERE xtype='u' AND name' at line 1) の近くで使用する正しい構文については、MySQL サーバーのバージョンに対応するマニュアルを確認してください。

誰かがこれで私を助けることができますか?

前もって感謝します

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 に答える