0

我正在尝试在 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 列”。我不知道那是什么意思!

4

2 回答 2

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
于 2013-02-28T18:14:35.343 回答
0

根据这里,我所要做的就是从 SELECT 子句中删除括号。

select id, replace(title, '_', ' '), description, CONCAT("http://somesite.com/", title)

完美而快速地工作!

于 2013-02-28T18:18:22.753 回答