插入具有特定值的新行

时间:2012-11-13 12:01:04

标签: mysql sql

在1表中,我需要根据其他表值插入具有特定值的特定行。

UPDATE item_properties2 AS P
INNER JOIN items ON items.id = P.item
INNER JOIN item_groups ON item_groups.idp = items.group_id 
SET P.nr = '0'
WHERE P.type = 1140614900 AND items_groups.idp = '1140503406';

这会更新表格。但我所需要的基本上就是。

idtypeitemvalueshowsnr)价值观 (78173,1336983282,1352706945,'测试Laisvai pastatomas Sharp',0,1)

item_properties2.Id - 只是行id,
item_properties2.type - 连接到item_property_groups2.id,
'item_properties2.item'连接到item.id,
item.id有另一列是item.group_id,
item.group_id连接到item_groups.id,其中有另一列裸item_groups.idp。

我只需要选择items_groups.idp ='1140503406'。基本上我应该在item_properties2中添加具有我输入的特定类型值的行,并且仅添加到具有特定item_properties2的模型。 item符合item_groups.idp。我不知道怎么做。

1 个答案:

答案 0 :(得分:1)

有一些方法可以将2个表中的大量数据插入到更新的表中。

这可以这样做:

INSERT INTO item_properties2 (id, type, item, value, shows, nr)
SELECT Yid, Ytype,Yitem,Yvalue, Yshows, Ynr
FROM items
INNER JOIN item_groups ON item_groups.idp = items.group_id
WHERE  items_groups.idp = '1140503406'

现在,您将调用特定的select语句,而不是使用VALUES标记。您只需将上面的Y值更改为您自己的列名称。

或者您可以将输入放入存储过程中 上面的查询将在你的2个表上运行,并将与where语句一起的值插入到第3个表中。

    CREATE PROCEDURE sInput
    ( @val1 int, @val2 int, @val3 varchar(10))
    AS
    INSERT INTO MyTable(val1, val2, val3)
    VALUES(@val1, @val2, @val3)
    return