复杂的mysql插入

时间:2012-08-02 18:44:06

标签: mysql

我在编写一个查询时遇到问题。 例如,我的表格的字段ID和名称看起来像

ID | Name
---+------
1  | John 
2  | Ben
3  | Bob

第二个表格包含字段名称和somefield。我需要使用第一个数据来填充此表,所以它看起来像

name | somefield
-----+-----------
John | blah=1
Ben  | blah=2
Bob  | blah=3

因此,name的值是第一个表的名称,somefield的值是来自1st表的blah = + id值这样的短语。 这可能只用mysql吗? 我尝试使用循环和wp wpdb类来执行此操作但是wpdb在〜每30行后仍然抛出一些malloc(我认为)错误

3 个答案:

答案 0 :(得分:2)

INSERT INTO table2 SELECT Name,CONCAT('blah=',ID) FROM table1;

答案 1 :(得分:1)

insert into second_table select Name, concat('blah=', ID) from first_table;

警告:此操作将在操作期间锁定first_table。 MySQL需要这样做才能保证复制期间的一致性。对于一次性数据填充,这可能是可以接受的,但可能不建议在高流量生产系统上定期运行。

答案 2 :(得分:1)

这不应该太困难。您不需要循环,只需使用INSERT SELECT语句:

INSERT INTO table2(name, somefield)
SELECT name, CONCAT('blah=', id')
FROM table1