简单:在数据库中创建表

时间:2012-03-24 22:55:08

标签: php mysql database create-table

非常简单的问题。我忘了如何处理这个特定的脚本。使用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 ...命令时,它不起作用。确定语法错误可能是;

3 个答案:

答案 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 _ *()函数,这些函数由于太多原因而无法在此处列出。

http://php.net/manual/en/book.mysqli.php

http://php.net/manual/en/book.pdo.php