2017-12-27 94 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