我的 Excel 工作表中有两列数据。一个是id_upload
,另一个是id_work
。如何更新 Works 表,以便正确的 id_work
将正确的值更新到 id_upload
列中?
works 表中有 23 列,因此我需要具体更新 id_upload
列,并且它需要获取正确的行(通过 id_work
) .
以下是更新数据的示例:
id_upload id_work 15 331 16 370 17 689 18 690 19 765
目前,works 表的 id_upload
字段中没有任何值。有 80 行更新需要完成,我不想手动完成:)。
最佳答案
不要使用单个查询。那只是自找麻烦。使用 Excel 创建多个查询并不难。
由于您忽略了为表提供实际架构,我假设名称为 smf_works_works
,id_work
是主键且是唯一键,id_upload在 Excel 中,应将其分配给 smf_works_works
的 id_upload
字段。我还假设所有字段都是整数或数字字段。
设 Excel 中的 A 列为 id_upload。令 Excel 中的 B 列为 id_work。设第 1 行为列标题,第 2 行及其下方为数据。
在 Excel 的 C 列中,输入以下公式:
=CONCATENATE("INSERT INTO smf_works_works (id_work, id_upload) VALUES (",B2,",",A2,") ON DUPLICATE KEY UPDATE id_upload = ",A2,";")
现在填写 C 列中的 80 行。现在选择该列,并将其粘贴到文本编辑器中并验证它看起来是否正确。然后将其粘贴到 MySQL Workbench 或您喜欢的查询分析器中,并运行第一行。使用 SELECT
语句验证数据是否正确。现在运行剩余的 79 行。
关于mysql - 如何快速更新各行的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27717006/