MySQL 向表中插入一组值

标签 mysql sql

我需要插入一个包含一些值的表(例如:本例中为“NDA”)。如果我只需要插入一个值,这似乎很有效。我有大约十几个类似的值,我是否可以调整此查询以插入 { 'NDA', 'SDM', 'APM' } 值。很想知道是否可以在没有存储过程或复制粘贴相同语句并更改值的情况下完成。

INSERT IGNORE INTO customer_feature (customer_id, feature)
SELECT c.id, 'NDA' FROM
customer as c
where c.edition = 'FREE_TRIAL';

引用:mysql -> insert into tbl (select from another table) and some default values

最佳答案

这是你想要的吗?

INSERT IGNORE INTO customer_feature(customer_id, feature)
    select c.id, f.feature
    from customer c cross join
         (select 'NDA' as feature union all select 'SDM' union all select 'APM'
         ) f
    where c.edition = 'FREE_TRIAL';

关于MySQL 向表中插入一组值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23303340/

相关文章:

php - 如何从第一个mysql表获取多个值并在第二个查询中使用它?

mysql - SQL-如何仅使用最后 N 行中的值查找列的平均值

sql - 根据 2 个用户 ID 分组获取摘要报告

php - 存储过程与 mysql 一起工作,但 php 出现错误

mysql - SQL获取每个用户的唯一ID

mysql - MySQL LOAD DATA INFILE 需要哪些文件和目录权限?

sql - 具有子查询性能的SQLite查询

mysql查询速度慢,需要帮助优化

Mysql在循环中按变量递增

java - 使用 ibatis 有条件查询迭代列表