如何快速更新各行的值?

时间:2014-12-31 06:16:43

标签: mysql sql

我在Excel工作表中有两列数据。一个是id_upload,另一个是id_work。如何更新作品表,以便正确的id_work将正确的值更新到id_upload列中?

工作表中有23列,因此我需要具体更新id_upload列,并且需要获取正确的行(通过id_work)。

以下是更新数据的示例:

id_upload  id_work
15           331
16           370
17           689
18           690
19           765

目前,工作表在id_upload字段中没有任何值。我需要进行80行更新,而不是手动执行此操作:)。

1 个答案:

答案 0 :(得分:1)

不要使用单个查询。那只是在惹麻烦。使用Excel创建多个查询并不困难。

由于您忽略了为表提供实际架构,我假设名称为smf_works_worksid_work是主键且唯一键,并且Excel中的id_upload应分配给id_upload的{​​{1}}字段。我还假设所有字段都是整数或数字字段。

让Excel中的A列为id_upload。让Excel中的B列为id_work。让第1行成为列标题,第2行和第2行是数据。

在Excel的C列中,输入以下公式:

smf_works_works

现在将C列填入80行。现在选择该列,并将其粘贴到文本编辑器中并验证它是否正确。然后将其粘贴到MySQL Workbench或首选查询分析器中,并运行第一行。使用=CONCATENATE("INSERT INTO smf_works_works (id_work, id_upload) VALUES (",B2,",",A2,") ON DUPLICATE KEY UPDATE id_upload = ",A2,";") 语句验证数据是否正确。现在运行剩余的79行。