我有几个问题我不确定,如果有人可以帮助我,那将是一个很大的帮助
1)我想返回我的代码,用户成功插入数据库它也没有失败。我会按照 If Last_Insert_id is not null 的方式执行此操作吗?返回一条消息说插入。
2) last_isert_id 将特定于插入的用户,即一次插入一个。我需要做一个锁来实现这一点。即,例如,如果我有一个配置文件表并且我得到了 last_isert_id,我可以保证是否有很多人同时注册每个 id 将用于每个用户。还是我需要做表锁定。
在改进方面最受欢迎的任何其他反馈
开始
DECLARE _user_role_permission int;
DECLARE _user_id int;
DECLARE EXIT HANDLER FOR SQLEXCEPTION ROLLBACK;
DECLARE EXIT HANDLER FOR SQLWARNING ROLLBACK;
SET _user_role_permission = (SELECT id FROM user_role_permission WHERE role_permission = in_role_permission);
START TRANSACTION;
INSERT INTO user_site(username, email, status, password, password_strategy, salt, requires_new_password, reset_token,
login_time, lock_status, login_ip, created_ip, activation_key, validation_key,
create_time, update_time)
VALUES(in_username, in_email, in_status, in_password,
in_password_strategy, in_salt, in_requires_new_password,
in_reset_token, in_login_time, in_lock_status, in_login_ip,
in_created_ip, in_activation_key, in_validation_key,
in_create_time, in_update_time);
SET _user_id = LAST_INSERT_ID();
INSERT INTO user(user_site_id) VALUES(_user_id);
INSERT INTO user_permission(user_id, permission_id)VALUES (_user_id,_user_role_permission);
COMMIT;
END