我有兩張表,我試圖從一個到另一個插入數據,我已經能夠找到一些如何在網上完成的例子,問題是這些例子大多依賴於相同的兩者之間的表結構...你看我試圖將一些數據從一個表插入另一個具有完全不同結構的表中。從一個表格插入數據到另一個表格?
我試圖從名爲'catalog_product_entity_media_gallery'的表中插入數據到名爲'catalog_product_entity_varchar'的表中。下面是它們的結構
的「catalog_product_entity_varchar」的簡單描述如下所示:
value_id | entity_type_id | attribute_id | store_id | entity_id | value
PK INT INT INT INT VARCHAR
和「catalog_product_entity_media_gallery」表如下所示:
value_id | attribute_id | entity_id | value
PK INT INT VARCHAR
我需要插入實體並將catalog_product_entity_media_gallery中的列值更改爲catalog_product_entity_varchar。但是,正如你所看到的結構是完全不同的。
我試圖使用的查詢是如下
USE magento_db;
INSERT INTO catalog_product_entity_varchar(entity_type_id, attribute_id, store_id, entity_id, value)
SELECT
4,
74,
0,
catalog_product_entity_media_gallery.entity_id,
catalog_product_entity_media_gallery.value
FROM catalog_product_entity_media_gallery;
我只需要ENTITY_ID和價值media_gallery和其他值都是一樣的,我試圖做到這一點使用上述但這只是掛在MySQL(沒有錯誤)
我認爲這是由於我試圖從catalog_product_entity_media_gallery選擇4,74和0,但我不是100%確定(道歉,我是一個事實一位新手用MySQL)
有人可以指點我在正確的方向?有什麼辦法可以插入媒體表中的一些數據,同時插入一些列的靜態值? (我希望這一切纔有意義)
您的選擇返回多少行?在查詢運行時,您可以打開另一個mysql命令提示符並運行'show processlist'來查看mysql正在執行的操作。 YOu也可以做'解釋',看看你是否需要一個索引來加快速度。請參閱https://dev.mysql.com/doc/refman/5.0/en/explain.html –
您能描述一下您試圖從應用程序級別完成的任務嗎? – benmarks