Mysqli错误1064 CREATE TABLE

时间:2014-01-17 14:07:42

标签: php mysqli

这是有效的:

$req = $mysqli->query("CREATE TABLE IF NOT EXISTS ".$tableprefix."admin (
            ID_ADMIN INT NOT NULL AUTO_INCREMENT,
            login VARCHAR(200) NOT NULL,
            password VARCHAR(200) NOT NULL,
            mail VARCHAR(200) NOT NULL,
            PRIMARY KEY(ID_ADMIN))");

这不起作用:

$req2 = $mysqli->query("CREATE TABLE IF NOT EXISTS ".$tableprefix."pages (
            ID_PAGE INT NOT NULL AUTO_INCREMENT,
            title VARCHAR(200) NOT NULL,
            content TEXT,
            order INT NOT NULL,
            status INT NOT NULL,
            PRIMARY KEY(ID_PAGE))");

任何人都可以帮助我吗?谢谢

2 个答案:

答案 0 :(得分:4)

ORDER是mysql中的reserved word,因此您需要将其括在反引号中:

`order` INT NOT NULL,

或使用其他名称(这就是我要做的)。

答案 1 :(得分:2)

你不应该在表“order”中命名一个列......它是一个保留字。称之为别的东西,比如p_order,或者其他东西。它只会在以后变得更加混乱,特别是如果你想要按它订购。