我正在尝试根据模数将临时表中的值插入到另一个表中。
这是我到目前为止所做的:
Drop Table user_password_list;
Create temporary Table messaging_user_password_list
(id Int(5), Password varChar(1000), User varChar(1000), PRIMARY KEY (id));
set @passwordlist =Insert into messaging_user_password_list values (id,'test1', 'fevea'), ('id,test2','ereavef'),(id,'test3','eareave'),(id,'test4','eavear'),(id,'test5','veaewr'),(id,'test1','heahea');
PREPARE stmt1 FROM @passwordlist;
EXECUTE stmt1;
DEALLOCATE PREPARE stmt1;
SELECT distinct user_name,setting_name,setting_value
FROM settings_user ,(select @modulo:=1) AS modulo_count
WHERE settings_user.Setting_Name in ('Password','User');
Drop user_password_list;
我正在尝试创建一个临时表,循环遍历我自己的现有表并更新所有用户的值。它用于存储我们拥有更多实际用户的环境的密码,而不是允许用户进入环境的环境,因此我正在尝试自动更新用户名和密码的过程。显然还没有更新语句,但为什么我会遇到插入语句的语法错误?
答案 0 :(得分:0)
在@password_list
的赋值中,您需要在查询周围添加引号,以便mysql将其视为字符串:
set @passwordlist =”Insert into messaging_user_password_list values (id,'test1', 'fevea'), ('id,test2','ereavef'),(id,'test3','eareave'),(id,'test4','eavear'),(id,'test5','veaewr'),(id,'test1','heahea')”;
此外,您需要将该临时表中的字段id
声明为auto_increment
,以使该查询按原样运行。
create temporary Table messaging_user_password_list (id Int(5) not null auto_increment, Password varChar(1000), User varChar(1000), PRIMARY KEY (id));