非常简单的问题。我忘了如何处理这个特定的脚本。使用PHP文件,我在mysql数据库中创建表。我有$query
变量,其中包含以下命令:
$query = "CREATE TABLE IF NOT EXISTS `table1` (
`id` int(11) NOT NULL AUTO_INCREMENT PRIMARY KEY,
`status` int(11) NOT NULL
)ENGINE=MyISAM DEFAULT CHARSET=utf8;
CREATE TABLE IF NOT EXISTS `table2` (
`something` varchar(100) NOT NULL,
`whatever` text NOT NULL
)ENGINE=MyISAM DEFAULT CHARSET=utf8;
";
仅当我执行一个命令时才有效。当我运行多个CREATE / INSERT / DROP ...命令时,它不起作用。确定语法错误可能是; 和,。
答案 0 :(得分:4)
mysql_query()
不支持同一次调用中的多个语句。
http://php.net/manual/en/function.mysql-query.php
mysql_query()向与指定link_identifier关联的服务器上的当前活动数据库发送唯一查询(不支持多个查询)。
答案 1 :(得分:1)
你的问题不是来自SQL(好吧,我没有正确地检查它),但是从mysql_query(假设你正在使用它):它不允许多个请求。 http://php.net/manual/fr/function.mysql-query.php
答案 2 :(得分:1)
正如其他人所说,mysql_query()函数在一次调用中不支持多个查询。
在一个有点相关的说明中,如果你能够,你应该考虑使用mysql_i或PDO代替旧的mysql _ *()函数,这些函数由于太多原因而无法在此处列出。