代码之家  ›  专栏  ›  技术社区  ›  Msencenb

带选择值和硬编码值的SQL插入

  •  21
  • Msencenb  · 技术社区  · 16 年前

    INSERT INTO Movies 
    SELECT name 
      FROM Directors 
     WHERE name = 'Lucas';
    

    INSERT INTO Movies 
    VALUES(Star Wars,(SELECT name 
                        FROM Directors 
                       WHERE name='Lucas'), 50000, 1000000);
    

    4 回复  |  直到 13 年前
        1
  •  24
  •   Phil    16 年前
    INSERT INTO Movies (Title, Director, Cost, Profits)
    SELECT 'Star Wars', name, 50000, 1000000
    FROM Directors WHERE name = 'Lucas'
    
        2
  •  8
  •   paxdiablo    16 年前

    因为您可以在 select 声明,使用它可能更干净:

    insert into movies (title, director, cost, profits)
       select 'Star Wars', name, 50000, 1000000 from directors where name = 'Lucas';
    
        3
  •  5
  •   Manny    16 年前

    是的,这是可能的。用户插入…选择语法。见 reference 了解更多详细信息。硬编码的值应该在选择查询中,而不是在值中。例如。

    INSERT INTO Movies
    SELECT 'Star Wars', name, 50000, 1000000
    FROM Directors 
    WHERE name = 'Lucas';
    
        4
  •  1
  •   Cold-Blooded    16 年前

    你有电影数据库(片名,导演,成本,利润)。 如果要在相应的表中输入值,请先选择该表,然后在这些表中插入值。

    推荐文章