我有两个变量 1. inserted_user_id, 2. inserted_address_id
在我的MySQL程序中。
我需要在插入查询和选择查询中使用它们。我正在尝试像
这样的东西插入user_new(name,company,email,customer_id)选择名称, 公司,电子邮件,来自user_old的inserted_user_id;
插入user_address_map(address_id,user_id)选择 inserted_user_id,inserted_address_id;
有两个陈述不起作用。如何在上面的sql语句中使用过程变量的值?
答案 0 :(得分:1)
首先选择一个以获取所有信息:(您需要先声明这些变量)
SELECT name,
company,
email,
INTO varname, varcompany, varemail
FROM user_old
然后将其用于插入
INSERT INTO user_new
(name,
company,
email,
customer_id)
VALUES (varname,
varcompany,
varemail,
inserted_user_id);
修改强> 首先插入Selected值并获取插入行的id
INSERT INTO user_new
(name,
company,
email)
SELECT name,
company,
email
FROM user_old
SET out_param = last_insert_id();
然后用你的param
更新这一行UPDATE user_new
SET customer_id = inserted_user_id
WHERE id = out_param;