【问题标题】:create and insert in a single query在单个查询中创建和插入
【发布时间】:2013-08-07 18:45:00
【问题描述】:
    <?php     
mysql_query("CREATE TABLE IF NOT EXISTS test.$p (
      `id` int(11) NOT NULL AUTO_INCREMENT,
      `title` varchar(255) NOT NULL DEFAULT '',
      `colum` varchar(255) NOT NULL DEFAULT '',
      `ord` varchar(255) NOT NULL DEFAULT '',
      `tex` varchar(255) NOT NULL DEFAULT '',
      `search` varchar(255) NOT NULL DEFAULT '',
      `count` varchar(255) NOT NULL DEFAULT '',
      `order` varchar(255) NOT NULL DEFAULT '',
      PRIMARY KEY (`id`)
    )ENGINE=InnoDB  DEFAULT CHARSET=latin1 AUTO_INCREMENT=1; 
     INSERT INTO $p ( `title`, `colum`, `ord`, `tex`, `search`, `count`, `order`) VALUES
    ('$a',  '$b',  '$c',  '$d',  '$f',  '$h',  '$g'); ");
        ?>

我正在使用 PHP 语言。 $r 是我的数据库,$p 是我的表名
在此我正在创建一个表,如果未创建表并且已创建表,那么我想在上面给出的相应列中插入值,但我不擅长 mysql_query 所以我不知道在哪里添加插入查询

我找到了解决我的问题的方法,但是这段代码在 phpmyadmin 中正常工作,但是当我使用 php 运行这段代码时,它在数据库中没有显示任何内容

【问题讨论】:

  • mysql_query 属于哪种编程语言? PHP?
  • 很确定它们必须是两个不同的调用。旁注,您为什么要即时创建表格?
  • 您好,欢迎来到 stackoverflow。也许您应该花一些时间来查看您的问题,以便更清楚地解释您的问题以及到目前为止您是如何尝试解决它的。完成后,在等待答案时,您可以查看stackoverflow.com/help/someone-answers,了解当有人回答您的问题时您应该怎么做

标签: php mysql sql create-table


【解决方案1】:

您不能使用单个mysql_query() 执行两个查询。

使用INSERT 查询作为参数再次调用mysql_query()

如果您绝对必须在单个函数调用中执行多个查询,请将您的 mysql 引擎更改为 mysqli,然后像这样使用 mysqli_multi_query()

mysqli_multi_query ($link, 'query1;query2;query3;...');

请记住,虽然这两种方法都按顺序发出查询,但它们的执行不是原子的。如果您需要原子性,请使用TRANSACTION

【讨论】:

  • 那不行;您只能使用mysql_query 进行一次查询。按照你的建议做,你需要使用mysqli的mysqli_multi_query()php.net/manual/en/mysqli.multi-query.php
  • 我正在做一些事情,如果创建表然后插入值,如果表没有创建......**第一次创建它然后插入它** i已经完成了第一部分,我正在处理粗体部分
【解决方案2】:

13.1.17. CREATE TABLE Syntax 可以执行以下操作:

CREATE TABLE IF NOT EXISTS `table1` (
    `col1` INT (11) DEFAULT NULL,
    `col2` INT (11) DEFAULT NULL
)
SELECT 1 `col1`, 2 `col2`;

并且应该使用mysql_query

【讨论】:

  • 我不想选择值,我想插入值
  • 用这个直接插入值,这里是例子SQL Fiddle
猜你喜欢
  • 2023-03-20
  • 1970-01-01
  • 2018-05-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多