【问题标题】:how to insert multiple row after getting last inserted row id获取最后插入的行ID后如何插入多行
【发布时间】:2019-11-21 23:08:24
【问题描述】:

我想将一些数据插入到一个表(一行)中,然后在此结束后,我想将一些行插入到另一个表 B 中,该表与 A_id 表 A 相关。所以我想获取表A的当前行ID,我已经插入了数据,然后用它把数据放到其他表中。

INSERT INTO tableA (titleA)
  VALUES('test title A')


for ($i=0 ; $i<9 ; $i++){
INSERT INTO b_shop_option (titleB,A_id) VALUES ('$title[$i]',LAST_INSERT_ID())
}

最后插入的 id 每秒都在变化。所以它不适用于我所需的 A_id

【问题讨论】:

  • 你能发布实际代码吗?
  • 你明白LAST_INSERT_ID() 会成为你循环中新插入的 ID 吗?将此值保存在循环之前的值中,并使用您的变量。

标签: php mysql insert


【解决方案1】:

你应该像下面的例子那样尝试

   $q1 = INSERT INTO tableA (titleA)
  VALUES('? ?');
  $stmt->bind_param("ss", 'test', 'Title A');

$q1_last_inserted_id = $your_conncetion_variable->lastInsertId();

for ($i=0 ; $i<9 ; $i++){
INSERT INTO b_shop_option (titleB,A_id) VALUES ('$title[$i]',$q1_last_inserted_id)
}

【讨论】:

  • 如果你使用SQL注入,那么你可以像这样使用登录
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-01-06
  • 1970-01-01
  • 2014-09-10
  • 2017-10-14
  • 2016-11-25
  • 1970-01-01
相关资源
最近更新 更多