我已经在另一台服务器上使用这个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
有什么想法吗?
答案 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
)";
这肯定会对你的情况有用,请试试这个。