在SQL查询中使用变量插入语句

时间:2019-06-28 12:49:27

标签: mysql sql sql-insert

我正在使用mysql(5.7.14)。我有一个用户表和一个实验表。

对于用户表,它具有以下列:

user_id | user_name| email

对于实验表,它具有列:

user_id | experiment_id | created_at

我需要:

  • 获得10%的随机用户,所以我有这样的东西:
SELECT user_id from user where rand() <= 0.1
  • 从上面将用户插入到带有experiment_id = 1的实验表中

所以我想知道是否有一种定义变量的方法,例如:

user_ids = SELECT user_id from user where rand() <= 0.1

然后在我的插入语句中使用它:

INSERT INTO experiment VALUES (user_ids, '1', DEFAULT);

1 个答案:

答案 0 :(得分:2)

您可以使用插入选择语句:

INSERT INTO experiment
SELECT      user_id, '1', DEFAULT
FROM        user
WHERE       RAND() <= 0.1