【问题标题】:SQL Server version of MYSQL insert intoSQL Server 版本的 MYSQL 插入
【发布时间】:2010-01-20 14:11:53
【问题描述】:

我在 MySQL 上运行以下查询,但在 SQL Server 数据库上运行它时失败。 它应该如何取悦 SQL Server?

INSERT INTO first_table (pk, data)
VALUES ((SELECT value
           FROM second_table
          WHERE key = 'key'),
          'other-data');

【问题讨论】:

    标签: mysql sql-server subquery


    【解决方案1】:

    类似的东西

    INSERT INTO first_table (pk, data) 
    SELECT  value ,
            'other-data'
    FROM    second_table 
    WHERE key = 'key'
    

    看看INSERT

    使用 SELECT 和 EXECUTE 加载数据 选项

    【讨论】:

      【解决方案2】:
      INSERT INTO first_table (pk, data)
      SELECT value, 'other-data'
      FROM second_table
      WHERE key = 'key'
      

      【讨论】:

        【解决方案3】:

        试试这个:

        INSERT INTO first_table (pk, data)
        SELECT value, 'other-data'
        FROM second_table
        WHERE key = 'key';
        

        【讨论】:

        • 不,分号不是必需的,我只是想养成始终使用分号的习惯
        【解决方案4】:
        INSERT INTO first_table (pk, data)
        SELECT value, 'other-data'
        FROM second_table
        WHERE key = 'key' 
        

        【讨论】:

        • 我很惊讶! 27 秒。我得到了一个答案(实际上是五个)。虽然你忘记了分号,但你得到了分数 ;-)
        • 谢谢,虽然您不需要在 MS SQL 中使用分号... ;)
        【解决方案5】:

        您可以使用子查询来检索 PK:

        INSERT INTO first_table (pk, data)
        SELECT
            (SELECT value FROM second_table WHERE key = 'key')
        ,   'other-data'
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2020-12-17
          • 2012-03-19
          • 1970-01-01
          • 2017-09-08
          • 1970-01-01
          相关资源
          最近更新 更多