我已经创建了一个网站,你可以上传和下载文件-一切都很完美。但是现在,我想创建一个init文件,删除数据库中的旧记录,并在其中创建一个新的表。
所以我写了这个:
$command = "
IF OBJECT_ID(`".$database.".Users`) IS NOT NULL
DROP TABLE ".$database.".Users;
IF OBJECT_ID(`".$database.".Uploads`) IS NOT NULL
DROP TABLE ".$database.".Uploads;
CREATE TABLE `Users` (
`Id` int(11) NOT NULL,
`User` text NOT NULL,
`Password` text NOT NULL,
`Permission` int(11) NOT NULL
) ENGINE=InnoDB AUTO_INCREMENT=0 DEFAULT CHARSET=utf8;
ALTER TABLE `Users` ADD PRIMARY KEY (`Id`);
ALTER TABLE `Users` MODIFY `Id` int(11) NOT NULL AUTO_INCREMENT,AUTO_INCREMENT=0;
CREATE TABLE `Uploads` (
`Id` int(11) NOT NULL,
`Name` text NOT NULL,
`User` text NOT NULL,
`Comment` text NOT NULL,
`Path` text NOT NULL,
`Permission` int(11) NOT NULL,
`Date` text NOT NULL
) ENGINE=InnoDB AUTO_INCREMENT=0 DEFAULT CHARSET=utf8;
ALTER TABLE `Uploads` ADD PRIMARY KEY (`Id`);
ALTER TABLE `Uploads` MODIFY `Id` int(11) NOT NULL AUTO_INCREMENT,AUTO_INCREMENT=0;
";
$result = mysqli_query($conn, $command) or die(mysqli_error($conn));
我认为,该代码是正确的(但显然不是)。当我运行它时,SQL抛出一个错误:
您的SQL语法中有一个错误;请查看与您的MariaDB服务器版本对应的手册,以了解在第1**行'IF OBJECT_ID(
db.Users
) IS NOT NULL DROP TABLE db.User‘附近要使用的正确语法。
这意味着它在连接到SQL数据库时没有问题。
我试着用IF NOT EXISTS
代替IF OBJECT_ID
,但它也不起作用。谁能告诉我多行SQL命令是这个问题还是别的什么问题?
注意:我使用的是5.5.37版本的MariaDB (如果有帮助的话)
https://stackoverflow.com/questions/54011176
复制相似问题