亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

在事務中使用父關系批量 MYSQL 插入

在事務中使用父關系批量 MYSQL 插入

PHP
慕勒3428872 2022-10-28 14:58:00
考慮兩個表(我已經簡化了一點,實際上有更多相關的表和更多的列):TABLE 'visit'-------------- id (auto increment)- visit_country- visit_browserTABLE 'pageview'----------------- id- visit_id (relates to visit.id)- page_url每天,我都想在這些表中插入一個大約有 100.000 次訪問和 400.000 次點擊的 PHP 數組。加快這個過程的方法是在一個查詢中添加多個插入并將整個查詢打包成一個事務。但是,我的問題是,為了插入瀏覽量,需要父訪問的 Last Insert ID。在假設使用一個查詢插入 1000 次訪問的事務中,我不能再使用 PDO 的 lastInsertId() 方法。理想情況下,我將所有內容都放在一筆交易中。一個不太理想的解決方案是插入所有訪問并添加一個引用列,然后執行,檢查每次訪問獲得的 ID,然后使用新事務插入命中。但這遠非理想。解決這個問題的方法是什么?ORM之類的Doctrine是如何解決這個問題的(我這里需要通過PDO依賴原始SQL)?
查看完整描述

1 回答

?
守著星空守著你

TA貢獻1799條經驗 獲得超8個贊

你可以做這樣的查詢


$sql = "INSERT INTO `visit` (`id`, `visit_country`, `visit_browser`) 

VALUES (NULL, :visit_country, :visit_browser);

INSERT INTO `pageview` (`visit_id`, `page_url`) 

VALUES (NULL, LAST_INSERT_ID(), :page_url)";

比準備、綁定參數和執行


查看完整回答
反對 回復 2022-10-28
  • 1 回答
  • 0 關注
  • 84 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號