Mysql子查询从许多数据库返回多行

时间:2014-12-21 14:28:28

标签: mysql sql

查询不起作用。 我想从player.item_proto

插入所有vnum的durance

我该怎么做?

INSERT INTO durance (vnum, max_durance, price_per_durance)
VALUES(
    (SELECT vnum 
     FROM player.item_proto 
     WHERE limitvalue0 >= 10 
     AND type in (1,2)), 
    100, 50)

错误:1242 - 子查询返回的行数超过1行

2 个答案:

答案 0 :(得分:1)

忘记values,请使用insert . . . select

INSERT INTO durance(vnum, max_durance, price_per_durance)
    select vnum, 100, 50
    from player.item_proto
    where limitvalue0 >= 10 and type in (1,2);

这假设您确实希望将所有匹配的行插入durance

答案 1 :(得分:0)

你不应该使用VALUES一词 语法为INSERT INTO table (columns) SELECT ... FROM ...