我有两张表,我试图从一个到另一个插入数据,我已经能够找到一些如何在网上完成的例子,问题是这些例子大多依赖于相同的两者之间的表结构...你看我试图将一些数据从一个表插入另一个具有完全不同结构的表中。从一个表格插入数据到另一个表格?
我试图从名为'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