mySQL - 无法创建表

时间:2017-12-27 11:56:39

标签: mysql

我已经在另一台服务器上使用这个SQL代码来创建一个表,如果它不存在的话。它一直很完美。今天我决定在我自己的计算机上安装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脚本中,然后创建一个表。它没有工作......

它是Kali计算机上的mariaDB:

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

有什么想法吗?

1 个答案:

答案 0 :(得分:2)

我认为您在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
        )";

这肯定会对你的情况有用,请试试这个。