我正在尝试在Table2中插入多个具有Table1多列的行,但是在这样做时,我正在编辑一些进入Table2的值。两者都是大表(几百万行)。这是查询:
insert into table2 (board_id,title,content,domainurl)
select (id, replace(title, '_', ' '), description, CONCAT("http://somesite.com/", title))
from table1
运行此查询时,不应该立即开始插入(因为我没有进行连接)?我几分钟前开始查询(phpmyadmin仍然显示“正在加载”)但是我没有看到任何行被添加到table2 ......?
编辑:查询刚刚停止,并显示消息“#1241 - 操作数应包含1列”。我不知道这意味着什么!
答案 0 :(得分:1)
试试这个:
INSERT INTO table2 (board_id,title,content,domainurl)
SELECT
id AS board_id,
REPLACE(title, '_', ' ') AS title,
description AS content,
CONCAT("http://somesite.com/", title) AS domainurl
FROM table1
答案 1 :(得分:0)
根据here,我所要做的就是从SELECT子句中删除括号。
select id, replace(title, '_', ' '), description, CONCAT("http://somesite.com/", title)
完美而快速地工作!