当前位置: 首页 > 面试题库 >

SQL一次创建多个表

葛承教
2023-03-14
问题内容

我需要一次创建多个表。我很难找出正确的方法来完成此任务。目前,我的脚本如下所示:

  private function buildDB() {
    $sql = <<<MySQL_QUERY
CREATE TABLE IF NOT EXISTS headings (
type        VARCHAR(150),
heading     VARCHAR(100),
uniqueid    VARCHAR(100)
)

CREATE TABLE IF NOT EXISTS titles (
type        VARCHAR(150),
heading     VARCHAR(100),
uniqueid    VARCHAR(100)
)
MySQL_QUERY;

    return mysql_query($sql);
  }

显然,这是行不通的,并且不会创建任何表。有一种简单的方法可以一次创建多个表吗?


问题答案:

MySQL变得令人困惑,因为您没有划定查询范围。在第一条CREATE语句后添加分号:

private function buildDB() {
    $sql = <<<MySQL_QUERY
        CREATE TABLE IF NOT EXISTS headings (
        type        VARCHAR(150),
        heading     VARCHAR(100),
        uniqueid    VARCHAR(100)
        );

        CREATE TABLE IF NOT EXISTS titles (
        type        VARCHAR(150),
        heading     VARCHAR(100),
        uniqueid    VARCHAR(100)
        )
MySQL_QUERY;

    return mysql_query($sql);
}

另外,根据Heredoc文档,请确保MySQL_QUERY位于行的开头,
没有其他字符,除了分号外


鉴于上述方法似乎无效,请尝试以下代码:

private function buildDB() {
    $sql1 = "CREATE TABLE IF NOT EXISTS headings (
        type        VARCHAR(150),
        heading     VARCHAR(100),
        uniqueid    VARCHAR(100))";

    $sql2 = "CREATE TABLE IF NOT EXISTS titles (
        type        VARCHAR(150),
        heading     VARCHAR(100),
        uniqueid    VARCHAR(100))";
MySQL_QUERY;

    return mysql_query($sql1) && mysql_query($sql2);
}

可以
使用mysqli_multi_query()(MySQL版本不存在),但是那时您必须使用MySQLi。上面的代码返回两个查询的逻辑与,因此,0如果一个查询失败,您仍然会得到返回。



 类似资料:
  • 我在代理“客户”群体中用Anylogic创建了一个时间表,客户必须创建订单并将其发送到“终端”。每天,每个客户必须发送到终端的订单量都是不同的。我想一次创建多个订单(每天,即计划中的开始列),我想创建的金额是计划中的值列。如何做到这一点? 正如您在下面看到的,现在每天只创建一个订单(以金额为参数),但我想在那一天/那一刻创建这个订单量。谢谢您的帮助! 日程数据如下所示:

  • 问题内容: 我有三个表: 我正在尝试创建一个视图,例如: 到目前为止,这是我的代码。我认为这是不正确的: 一个问题是,存在的国家可能不在中。一年也是如此。存在的年份可能不存在。因此,我一直认为上述代码无法正常工作。 问题答案: 谢谢您的帮助。这就是我为了使它工作而最终要做的事情。

  • 问题内容: 下面的代码通过SSH在一台计算机上运行grep并打印结果: 我如何一次将5台机器全部置入grep(这样就不会造成重大延迟),而不是将所有这些都放入5个变量中并全部打印出来。 问题答案: 您需要将调用放在单独的线程(或进程中,但这可能会过大),这反过来又要求代码位于函数中(无论如何,这是一个好主意:模块的顶部没有大量代码水平)。 例如: If you had many more than

  • 考虑这个例子 我有一个函数,它以作为输入,并返回三个值,我想存储到三个不同的变量。下面的似乎工作正确 然而,当我试图创建相应的变量时,我得到了一个错误 你怎么认为? 我曾经在pandas apply()的返回多列中使用伟大的解决方案,但在当前的pandas中,此解决方案不再有效 谢谢!

  • MarkLogic 9.0.8.2 在开发环境中,我们逐个创建了5个字段(Field1、Field2、Field3、Field4、Field5),即每个索引需要大约20个小时来19M记录,搜索工作正常。 对于系统测试环境,我们以相同的顺序一次创建了5个字段,MarkLogic花了大约3天的时间完成了对19M条记录的索引。 但搜索只对Field1有效,对其他字段无效。我们尝试了一切,但都没有成功,然

  • 本文向大家介绍SQL 创建一个新功能,包括了SQL 创建一个新功能的使用技巧和注意事项,需要的朋友参考一下 示例 本示例创建一个名为FirstWord的函数,该函数接受varchar参数并返回另一个varchar值。