2015-10-25 77 views
-1

我的代碼有什麼問題?表創建失敗:(1064)您的SQL語法中有錯誤

$query = "CREATE TABLE IF NOT EXISTS 'data_table' (
    'id' INT UNSIGNED NOT NULL AUTO_INCREMENT, 
    'name' VARCHAR(255) NOT NULL, 
    'active' TINYINT NOT NULL DEFAULT '1', 
    'create_date' TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, 
    'income' INT DEFAULT NULL, 
    PRIMARY KEY ('id') 
    ) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1;"; 

$createTable = mysqli_query($connect, $query); 
+2

您可以使用[反引號或雙引號](https://dev.mysql.com/doc/refman/5.1/en/identifiers.html),而不是單引號。 – GSerg

回答

0

嘗試:

$query = "CREATE TABLE IF NOT EXISTS `data_table` (
    `id` INT UNSIGNED NOT NULL AUTO_INCREMENT, 
    `name` VARCHAR(255) NOT NULL, 
    `active` TINYINT NOT NULL DEFAULT 1, 
    `create_date` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, 
    `income` INT DEFAULT NULL, 
    PRIMARY KEY (`id`) 
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1;"; 

注意,單引號替換爲反引號

1

你並不需要爲表和列名的單引號嘗試沒有說:你可以使用" or backticks代替。

CREATE TABLE IF NOT EXISTS data_table(
id INT UNSIGNED NOT NULL AUTO_INCREMENT , 
name VARCHAR(255) NOT NULL , 
active TINYINT NOT NULL DEFAULT '1', 
create_date TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP , 
income INT DEFAULT NULL , 
PRIMARY KEY (id) 
) ENGINE = MYISAM DEFAULT CHARSET = utf8 AUTO_INCREMENT =1 
相關問題