我在编写一个查询时遇到问题。 例如,我的表格的字段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(我认为)错误
答案 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