Mysql根据其他表的ID和字段向表中添加一行

Mysql根据其他表的ID和字段向表中添加一行,mysql,insert,Mysql,Insert,我有一张叫做item_text的桌子 id|rec_id|text ----------------- 1 |21 |point(123 2 |21 |nothing 3 |91 |empty 4 |2 |point(123 5 |500 |point(123 还有一张叫做标签的桌子 id|tag_id|rec_id ---------------------- 1 |1 |34 2 |2 |34 3 |34 |21 4 |1 |28

我有一张叫做item_text的桌子

id|rec_id|text
-----------------
1 |21    |point(123
2 |21    |nothing
3 |91    |empty
4 |2     |point(123
5 |500   |point(123
还有一张叫做标签的桌子

id|tag_id|rec_id
----------------------
1 |1     |34
2 |2     |34
3 |34    |21
4 |1     |2867
这两个表本质上都是查找表,第一个表将文本分配给记录,第二个表将标记分配给记录

基本上,对于每个具有类似文本点的项,我希望向标记数据库添加一条记录,记录id为items,标记id为45

因此,它遍历item_texts表,使用上面的rec_id 21,2500示例查找点为text的项。然后将id为45的标签插入标签表,并使用从文本表中获得的记录id。最后我得到了一个标签表,看起来像这样

id|tag_id|rec_id
----------------------
1 |1     |34
2 |2     |34
3 |34    |21
4 |1     |2867
5 |45    |21
6 |45    |2
7 |45    |500
我可以选择表中的项目

  SELECT * FROM `item_texts` WHERE `text` LIKE 'POINT%'
我可以做插入查询, 插入标签值(“”、45、21)
我只是不知道如何将它们联系在一起,以便插入中的21来自与下面的select语句匹配的每个项目

INSERT INTO tags (tag_id,rec_id)
SELECT 45, rec_id FROM `item_texts` WHERE `text` LIKE 'POINT%'

嗯,这不起作用,我的语法出现了一个错误。但我不明白为什么我要在你的查询中插入45。我已经把我原来的问题说得更清楚了(我希望!!),事实上它现在起作用了。我删除了这些值,它似乎成功了。因此,插入标签(标签id、记录id)。编辑您的答案,我将奖励:-D