首页 > 解决方案 > 将一列从一个表移动到另一个mysql

问题描述

我有两张桌子,ProductsImages。Products 表有一个“图像”列,我想将所述列中的图像移动到图像表中。图片表有列“product_id”,这就是两个表的关联方式

产品表

id
image

图像表

id
image
product_id

Products表中的 ID应该作为 Image 表中 product_id 下的 Image 表中的外键,它应该与Products表中的主键一样用于图像。还有一件事,Images Table 不是空的,它已经有数据了。

标签: mysql

解决方案


您可以使用INSERT INTO原始数据,但也可以将其与SELECT查询结合使用。

对于表上的新IdImages,您可以使用现有Product.Id值或使用类似的函数生成新值UUID(),我建议这样做,因为它可以生成更长的更唯一 ID,这些 ID 可以是全局唯一的。

这样的事情可能会起作用:

INSERT INTO Images (id, image, product_id)
SELECT UUID(), image, id FROM Products;

推荐阅读