php mysqli创建索引错误

时间:2017-03-27 15:03:09

标签: php mysqli

我使用PHP mysqli创建表和索引。但是我收到了这个错误。

我已经在mysql客户端运行了这些sql并且运行良好。

$creatTableSql = <<<EOF
CREATE TABLE IF NOT EXISTS duplicate_attachment(
    id INT(11) PRIMARY KEY NOT NULL AUTO_INCREMENT,
    md5 VARCHAR(32) NOT NULL,
    filesize INT(11),
    ids TEXT NOT NULL
);

CREATE UNIQUE INDEX duplicate_attachment_id_uindex ON duplicate_attachment (id);

CREATE UNIQUE INDEX duplicate_attachment_md5_uindex ON duplicate_attachment (md5);
EOF;
$mysqli->query($creatTableSql);
var_dump($mysqli->error);
  

string(226)“您的SQL语法有错误;请查看手册   对应于您的MySQL服务器版本,以获得正确的语法   在'CREATE UNIQUE INDEX duplicate_attachment_id_uindex ON附近使用   duplicate_attachment(id);'在第8行“

1 个答案:

答案 0 :(得分:0)

这不是单个查询,而是一组多个查询 你应该逐个运行它们。

$mysqli->query("CREATE TABLE IF NOT EXISTS duplicate_attachment(
    id INT(11) PRIMARY KEY NOT NULL AUTO_INCREMENT,
    md5 VARCHAR(32) NOT NULL,
    filesize INT(11),
    ids TEXT NOT NULL
)";
$mysqli->query("CREATE UNIQUE INDEX duplicate_attachment_id_uindex ON duplicate_attachment (id)";
$mysqli->query("CREATE UNIQUE INDEX duplicate_attachment_md5_uindex ON duplicate_attachment (md5)";