我的MySQL数据库中有以下表格:
CREATE TABLE user_role (
user_role_id INT UNSIGNED AUTO_INCREMENT,
user_role VARCHAR(15) NOT NULL,
CONSTRAINT pk_user_role PRIMARY KEY (user_role_id)
);
CREATE TABLE users (
user_id INT UNSIGNED AUTO_INCREMENT,
user_role_id INT UNSIGNED NOT NULL,
email VARCHAR(254) NOT NULL,
password VARCHAR(255) NOT NULL,
CONSTRAINT pk_users PRIMARY KEY (user_id),
CONSTRAINT fk1_users FOREIGN KEY (user_role_id) REFERENCES user_role (user_role_id),
CONSTRAINT unq1_users UNIQUE (email)
);
假设所有用户角色已经存在,如何SELECT user_role_id WHERE user_role = 'role';
在一条语句中插入具有正确用户角色ID(即)的新用户?
我已经尝试了以下问题的答案,但对我而言不起作用:使用SubQuery MySQL插入INTO
假设所有用户角色都已经存在,则可以在一个语句中使用以下查询插入具有正确用户角色ID(即SELECT user_role_id WHERE user_role ='role';)的新用户:
insert into users (user_role_id, email, password)
select
user_role_id,
'new_user',
'password_hash'
from user_role r
where r.user_role='role'
limit 1;
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句