2017-12-27 171 views
1

我有這個SQL代碼,我用另一臺服務器來創建一個表,如果它不存在。它一直很完美。今天我決定在我自己的電腦上安裝mySQL並使用相同的腳本,但是這次我得到一個錯誤。我試圖重寫的情況下,有任何兼容性問題,但沒有任何成功的代碼...mySQL - 無法創建表

的SQL代碼:

$table = "Test"; 

$sql = "CREATE TABLE IF NOT EXIST $table (
     id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY, 
     Name VARCHAR(30) NOT NULL, 
     Email VARCHAR(50) NOT NULL, 
     Country VARCHAR(50) NOT NULL, 
     Date TIMESTAMP 
     )"; 

這是錯誤消息我收到:

Error creating table: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'EXIST Test (id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY, ' at line 1 

我試圖在phpMyAdmin中手動創建一個新表,並簡單地將生成的SQL代碼複製到我的PHP腳本並創建一個表。它沒有任何工作...

這是一個MariaDB的卡利計算機上:

mysql version 15.1 Distrib 10.1.29-MariaDB, for debian-linux-gnu (i686) using readline 5.2 

任何想法?

回答

3

我想你已經取得了EXIST一個拼寫錯誤應該像EXISTS

寫請重新寫你的查詢作爲

$sql = "CREATE TABLE IF NOT EXISTS $table (
     id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY, 
     Name VARCHAR(30) NOT NULL, 
     Email VARCHAR(50) NOT NULL, 
     Country VARCHAR(50) NOT NULL, 
     Date TIMESTAMP 
     )"; 

這會在你的情況肯定工作,請試試這個。

+0

這一定是我在這個論壇上創造的最尷尬的問題......當然,你的回答是正確的,它解決了這個問題。我一直試圖解決這個問題整個上午,並得出結論,這必定是一個「獨特的可比性問題」:S很感謝! :) – Lavonen

+0

@Lavonen請仔細閱讀錯誤信息。你一定會找到答案。如果上述答案解決了您的問題,請接受答案。然後只有新手可以輕鬆找到答案。謝謝。 –

+0

接受:) – Lavonen