我正在尝试编写我的第一个php / mysql页面并遇到SQL语法错误我无法找到原因。
错误如下:
无法创建域建议表。错误您的SQL语法中有错误;查看与您的MySQL服务器版本对应的手册,以便在第2行“PRIMARY_KEY,域TEXT,作者TEXT,submitdate DATE NOT NULL”附近使用正确的语法
我的代码如下。任何帮助非常感谢。
$sql = 'SELECT domain FROM domainsuggestions';
$domains = mysqli_query($link, $sql); // get domain suggestions from table
if (!$domains) // check if was able to get results from table. if not create table
{
$output = 'Unable to find domain suggestions table. Creating now...';
echo htmlspecialchars($output, ENT_QUOTES, 'UTF-8');
$createtable = 'CREATE TABLE domainsuggestions(
id INT NOT NULL AUTO_INCREMENT PRIMARY_KEY,
domain TEXT,
author TEXT,
submitdate DATE NOT NULL
) DEFAULT CHARACTER SET utf8';
if (!mysqli_query($link, $createtable)) // if can't create table output error
{
$output = 'Unable to create domain suggestions table. Error '. mysqli_error($link);
echo htmlspecialchars($output, ENT_QUOTES, 'UTF-8');
exit();
}
$output = 'domainsuggestions table created!';
echo htmlspecialchars($output, ENT_QUOTES, 'UTF-8');
}
答案 0 :(得分:5)
在 CREATE TABLE 语句中,PRIMARY KEY
应为空格,而不是PRIMARY_KEY
,其中包含下划线。
从PRIMARY_KEY
删除下划线。
CREATE TABLE domainsuggestions
(
id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
domain TEXT,
author TEXT,
submitdate DATE NOT NULL
) DEFAULT CHARACTER SET utf8
Click here to view the working CREATE TABLE script in SQL Fiddle.