當新數據填充到視圖中時,表不會更新。查詢運行時沒有錯誤,但表格未更新。我試圖用視圖中的數據來更新表格,這些數據不在表格中,這取決於發貨編號。將數據從mysql視圖插入到不存在的表中
INSERT INTO `table`(`store`, `shippingid`)
SELECT store,shipment_id FROM view WHERE NOT EXISTS (SELECT `shippingid` FROM `table`)
當新數據填充到視圖中時,表不會更新。查詢運行時沒有錯誤,但表格未更新。我試圖用視圖中的數據來更新表格,這些數據不在表格中,這取決於發貨編號。將數據從mysql視圖插入到不存在的表中
INSERT INTO `table`(`store`, `shippingid`)
SELECT store,shipment_id FROM view WHERE NOT EXISTS (SELECT `shippingid` FROM `table`)
你必須包括的觀點和你的表之間的關係:
INSERT INTO `table`(`store`, `shippingid`)
SELECT store,shipment_id
FROM view
WHERE NOT EXISTS (SELECT `shippingid`
FROM `table`
WHERE shippingid = view.shipment_id)
請注意,這個查詢是一個INSERT
操作,而不是UPDATE
。
完美!非常感謝! –
如果你在你的表中的任何行,這將永遠是假的:
WHERE NOT EXISTS (SELECT `shippingid` FROM `table`)
看來你可能需要添加相關性:
WHERE NOT EXISTS (SELECT `shippingid` FROM `table` WHERE shippingid = view.shipment_id)
請注意,從理論上說,子查詢對外部查詢的每一行執行一次。因此,要了解流程,請查看一些示例數據並瞭解查詢如何產生結果。
是用於創建「視圖」的'表'嗎?即使它被隱藏在視圖之後,通常也不能在更改表格的同時從中進行選擇。 –