自動更新對上下文敏感的關係是否有可能複製通過自動更新對上下文敏感的關係中的具體項目?MySQL的重複條目與PHP
給定一個表 '表1',如:
我的目標是複製所有條目與的categoryId 42,如果在更新的parentId neccessary:
ID是一個自動遞增的列和parentId用於標識條目之間的關係。
目前我將他們一個接一個,選擇舊數據和管理邏輯在PHP的parentId的。
//Thats simplified what I do ($conn is a Zend_Db_Adapter_Abstract)
$rows = $conn->fetchAll("SELECT * FROM table1 WHERE categoryId = 42 ORDER BY parentId ASC");
$newIds = [];
foreach($rows as $row){
if(array_key_exists($row['parentId'],$newIds))
$row['parentId'] = $newIds[$row['parentId']];
else
$row['parentId'] = null;
$conn->query("INSERT INTO table1 (parentId,info,categoryId) VALUES (?,?,?)",[$row['parentId'],$row['info'],$row['categoryId']]);
$newId = $conn->lastInsertId('table1');
$newIds[$row['id']] = $newId;
}
我堅持這一點,因爲我需要新元素的lastInsertedId設置新的parentId爲下一個。 但我遇到這很慢(相對於包含邏輯的單個查詢)。
是否有可能給查詢某種incremental元素敏感的邏輯嗎?或者你有什麼建議來解決這個問題嗎?
任何幫助表示讚賞! :)
創建表在這裏,不使用外部圖像。 – tilz0R
沒有弄清楚如何使用表格。在高級幫助中,它表示: 表僅在文檔頁面中可用。 –