【问题标题】:Is it possible to insert the same values at once (Mysql)? [duplicate]是否可以一次插入相同的值(Mysql)? [复制]
【发布时间】:2013-06-10 12:21:10
【问题描述】:

如果我有一个 Example 是的表格,并且其中有一列(例如)颜色是我可以做的事情;

    INSERT INTO Example VALUES ('Red','Black','Green');

而不是为每个值分别编写 3 次代码?

【问题讨论】:

    标签: mysql sql insert


    【解决方案1】:

    是的,您可以这样做,但您的格式已关闭。

    INSERT INTO `Example` (`color`)
    VALUES
    ('Red'),
    ('Black'),
    ('Green')
    

    每行必须用逗号分隔,括号中为行的值。

    【讨论】:

      【解决方案2】:

      这是适用于任何数据库的另一种方法。

      insert into example
      select 'Red'
      from SomeSmallTable
      union
      select 'Blue'
      from SomeSmallTable
      union
      select 'Green'
      from SomeSmallTable
      

      【讨论】:

      • 什么。 SomeSmallTabledual 的别名吗?
      • 不需要from 子句。来自文档:“DUAL 纯粹是为了方便那些要求所有 SELECT 语句都应该有 FROM 和可能的其他子句的人。MySQL 可能会忽略这些子句。如果没有引用表,MySQL 不需要 FROM DUAL。”
      • Dual 不适用于所有数据库。此外,并非所有数据库都允许选择不带 where 子句的查询。
      • 嗨,丹,用你的代码做一些测试,你会发现有问题。
      • 我同意 Joe 的观点 - 在 MySQL 中,您根本不需要 from 子句,因此以下内容将起作用 insert into example select 'Red' union select 'Blue' union select 'Green'
      【解决方案3】:
      INSERT INTO Example (column_name) VALUES ('Red'),('Black'),('Green');
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-09-04
        • 2021-09-08
        • 2022-01-20
        • 1970-01-01
        • 1970-01-01
        • 2022-01-14
        相关资源
        最近更新 更多