我的主要目标是在sql查询中应用其他方式,以便我可以检查是否有admin用户更新该admin用户的密码,以及是否没有admin用户通过脚本创建该admin用户。如果代码是针对magento 1.9的,则是上面的代码
我需要通过mysql执行此操作
delimiter //
create procedure admin_user()
begin
set @isAdmin := (select count(*) from admin_user where username = 'admin');
-- Only insert rows if the platform was found
if @isAdmin is not null then
UPDATE admin_user SET password = '49ecf011a4046493514c9d43bbfdd6e6:Sm4AZH3YkKQP9NEG0XRaUJfFiJxfYPeN' WHERE username = 'admin';
else
set @salt := 'ls';
set @pass := CONCAT(MD5(CONCAT( @salt , "admin123") ), CONCAT(":", @salt ));
INSERT INTO `admin_user` (firstname, lastname, email, username, password, created, lognum, reload_acl_flag, is_active, extra, rp_token, rp_token_created_at)
VALUES ('admin', 'dev', 'admin@bamba.local', 'admin', @pass, NOW(), 0, 0, 1, 'N;',null,null);
INSERT INTO `admin_role` (parent_id, tree_level, sort_order, role_type, user_id, role_name)
VALUES (0, 1, 0 , 'G', 0, 'Development');
set @role_id := (SELECT role_id from admin_role where role_name='Development');
INSERT INTO `admin_rule` (role_id, resource_id, privileges, assert_id, role_type, permission)
VALUES (@role_id, 'all', null, 0, 'G', 'allow');
INSERT INTO `admin_role` (parent_id, tree_level, sort_order, role_type, user_id, role_name)
VALUES (@role_id, 2, 0, 'U', (SELECT user_id FROM admin_user WHERE username = 'admin'), 'admin');
end if;
end;
//
delimiter ;
-- Execute the procedure
call admin_user();
-- Drop the procedure
drop procedure admin_user;
当查询在执行方面起作用时,其说查询执行了0行受影响。没有任何结果
答案 0 :(得分:1)
您可以使用此过程。运行此过程时,它会显示以下消息:“ MySQL返回了空结果集(即零行)。(查询花费了0.0005秒。)”,但是当您打开admin_user和其他表时,它会更新或将值插入表格。
delimiter //
create procedure admin_user()
begin
DECLARE isADMINDATA INT;
select count(*) from admin_user where username = 'admin' INTO isADMINDATA;
if isADMINDATA=0 THEN
set @salt := 'ls';
set @pass := CONCAT(MD5(CONCAT( @salt , "admin123") ), CONCAT(":", @salt ));
INSERT INTO `admin_user` (firstname, lastname, email, username, password, created, lognum, reload_acl_flag, is_active, extra, rp_token, rp_token_created_at)
VALUES ('admin', 'dev', 'admin@bamba.local', 'admin', @pass, NOW(), 0, 0, 1, 'N;',null,null);
INSERT INTO `admin_role` (parent_id, tree_level, sort_order, role_type, user_id, role_name)
VALUES (0, 1, 0 , 'G', 0, 'Development');
set @role_id := (SELECT role_id from admin_role where role_name='Development');
INSERT INTO `admin_rule` (role_id, resource_id, privileges, assert_id, role_type, permission)
VALUES (@role_id, 'all', null, 0, 'G', 'allow');
INSERT INTO `admin_role` (parent_id, tree_level, sort_order, role_type, user_id, role_name)
VALUES (@role_id, 2, 0, 'U', (SELECT user_id FROM admin_user WHERE username = 'admin'), 'admin');
else
UPDATE admin_user SET password = '49ecf011a4046493514c9d43bbfdd6e6:Sm4AZH3YkKQP9NEG0XRaUJfFiJxfYPeN' WHERE username = 'admin';
end if;
end;