我使用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行“
答案 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)";