【问题标题】:Is it possible to get the integer value of a table in MySQL?是否可以在 MySQL 中获取表的整数值?
【发布时间】:2012-01-11 05:22:20
【问题描述】:

我有一个数据库查询

SELECT Id FROM Phone WHERE Model = 'Droid'

返回一个包含一个条目的表(因为 Id 是主键)。该表如下所示:

+----+
| Id |
+----+
|  1 |
+----+

有没有办法得到那个整数“1”?我想在以下查询中使用它,但它会产生语法错误:

INSERT INTO Sale (Id, Price)
    VALUES (SELECT Id FROM Phone WHERE Model = 'Droid', 100.00);

【问题讨论】:

    标签: mysql select insert


    【解决方案1】:

    使用这个:

    INSERT INTO Sale (Id, Price)
    SELECT Id, 100.00 
      FROM Phone 
      WHERE Model = 'Droid';
    

    【讨论】:

      【解决方案2】:

      子查询需要包裹在自己的()

      【讨论】:

        【解决方案3】:

        您只需要像这样在选择查询周围加上括号:

        INSERT INTO Sale (Id, Price)
        VALUES ((SELECT Id FROM Phone WHERE Model = 'Droid'), 100.00);
        

        这应该可以正常工作。

        【讨论】:

          【解决方案4】:

          这并不是说您遇到了某种类型的不兼容;你的语法是错误的。尝试简单

          INSERT INTO Sale (Id, Price)
          (SELECT Id,100 FROM Phone WHERE Model = 'Droid');
          

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2021-06-05
            • 2013-06-11
            • 2011-01-17
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多