【问题标题】:MySQL link 2 ids where one of them is auto_increment [duplicate]MySQL链接2个ID,其中一个是auto_increment [重复]
【发布时间】:2012-05-28 13:13:44
【问题描述】:

嗯,我发现了一些完美的东西,但它看起来很丑 是否可以在一个查询中执行此操作?

    $query = "INSERT INTO page(page_name, page_weight)
              VALUES('".mysql_real_escape_string($_POST['name'])."', '".mysql_real_escape_string($_POST['weight'])."')";
    $result = mysql_query($query);

    $query2 = "SELECT page_id FROM page WHERE page_id = (SELECT MAX(page_id)  FROM page)";
    $result2 = mysql_query($query2);
    while($row = mysql_fetch_assoc($result2))
    {
        $query3 = "INSERT INTO content(page_id, content_type)
                   VALUES('".$row['page_id']."', '".mysql_real_escape_string($_POST['type'])."')";
        $result3 = mysql_query($query3);
    }

页面中的 page_id 是自动递增的,但内容中的 page_id 不是,是否可以以任何方式链接它们?

编辑:

感谢 PLB,我现在有了这个

    $query = "INSERT INTO page(page_name, page_weight)
                VALUES('".mysql_real_escape_string($_POST['name'])."', '".mysql_real_escape_string($_POST['weight'])."')";
    $result = mysql_query($query);

    $query3 = "INSERT INTO content(page_id, content_type)
                VALUES('".mysql_insert_id()."', '".mysql_real_escape_string($_POST['type'])."')";
    $result3 = mysql_query($query3);

是否可以进行 1 次查询?

【问题讨论】:

  • mysql_insert_id(); 返回最后插入的值。
  • 是的,你可以链接它们,你定义了你的表之间的关系吗?

标签: php sql insert


【解决方案1】:

mysql_insert_id(); 返回最后插入的 id。使用它,您可以像这样删除选择查询:

    $query = "INSERT INTO page(page_name, page_weight)
                VALUES('".mysql_real_escape_string($_POST['name'])."', '".mysql_real_escape_string($_POST['weight'])."')";
    $result = mysql_query($query);

        $query3 = "INSERT INTO content(page_id, content_type)
                    VALUES('".mysql_insert_id()."', '".mysql_real_escape_string($_POST['type'])."')";
        $result3 = mysql_query($query3);

但我建议停止使用mysql_* 函数并尝试mysqli_*PDO

【讨论】:

  • 这有帮助,但是否可以只查询一次?就像在一次插入中选择 2 个表一样。或者这看起来不错?而对于 msqli 的事情。这是一个学校项目,我们的老师还不想开始使用 mysqli。
  • @SinanSamet MySql 不支持单个INSERT statement的多表插入
  • 好的,非常感谢,这很有用!还有@jugnu,我会看看关系的东西,我认为它会更实用,谢谢!
猜你喜欢
  • 2012-02-24
  • 2013-10-22
  • 1970-01-01
  • 2010-09-20
  • 2015-04-15
  • 2012-04-25
  • 2011-04-12
  • 2018-05-18
  • 1970-01-01
相关资源
最近更新 更多