-1

我有一个包含许多列的表。对于每一行,我想选择三列 ( PAR_BOOK, PAR_PAGE, PAR_LINE) 并将这三列的内容连接到新的第四列 (APN)。

因此,如果 PAR_BOOK=0108、PAR_PAGE=291 和 PAR_LINE=07,则 APN 应为 010829107

有道理?

但是,我不确定应该使用什么查询来执行此操作。我需要将结果存储回同一个表中,因为它最终需要以 csv 格式导出,以便与将要映射数据的程序一起使用。

4

2 回答 2

4

假设您的第四列已经在表中,您将使用以下更新查询:

UPDATE YourTable
SET APN = CONCAT(PAR_BOOK, PAR_PAGE, PAR_LINE)

如果您的第四列还没有出现在表中,您应该ALTER TABLE在运行该语句之前先使用该语句添加它UPDATE

ALTER TABLE YourTable
ADD APN VARCHAR(256) NULL
于 2012-10-08T18:29:38.197 回答
0

插入同一张表INSERT INTO ... SELECT ...完全没有问题。MySQL 将选定的行保存在一个临时表中。

于 2012-10-08T18:28:46.217 回答