mysql - 在单个 SQL 语句中插入多个非 "pre-known"的值

标签 mysql

我想创建一个存储过程,将多个值插入到一个表中,其中包含另一个表中的值。我对创建 MYSQL 语句来帮助实现这一目标感到头疼。

CREATE PROCEDURE `sp_loadIDs`()

BEGIN
declare vUserID int;

-- I know this should only return one value but dont know the work around for getting all values meeting this criterion
set vUserID = (select UserID from usertbl where DesignationID=1); 
insert into tasktbl (UserID,DefaultUser) values (vUserID,'1');

-- For known values, I know it is as easy as follows:
insert into tasktbl (UserID,DefaultUser) values ('21','1'),('22','1'),('23','1');
END

最佳答案

如果我正确理解了要求,我认为这将满足您的要求

INSERT INTO tasktbl
            (UserId,
             DefaultUser)
(SELECT userid,
        '1' AS DefaultUser
 FROM   usertbl
 WHERE  DesignationID = 1);

根据OP的评论进行编辑:

INSERT INTO tasktbl
            (UserId)
(SELECT userid
 FROM   usertbl
 WHERE  DesignationID = 1);

关于mysql - 在单个 SQL 语句中插入多个非 "pre-known"的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52201218/

相关文章:

php - 实时抓取彩票开奖数据 - 我能找到合适的结果吗?如何整合这么多来源?

php - 在 php mysql 查询中添加更多搜索变量时遇到问题

mysql - 如何使用 INSERT INTO 多次选择插入?

php - 如何输入数据并使用get变量

mysql - WHERE 子句练习中的子查询

html - 如何从sql文本字段中获取带有html标签的 "grep"行?

mysql - 如何使用mysql同时更新多行

php - 我的基于 php + mysql 的表单需要一些帮助

c# - 通过 PHPMyAdmin 创建的数据库与 C# 的 MySQL 连接

java - 无法在 Hibernate 5.1.0.Final 中配置 hibernate-ehcache-4.3.5.Final.jar 的二级缓存