我使用MySQL 5.7結果,並有一個看起來是這樣的一個用戶表:MySQL的 - 插入過程中指定列的值與選擇
create table user (
id int unsigned not null auto_increment primary key ,
first_name varchar(30) not null ,
last_name varchar(30) not null ,
user_name varchar(15) not null unique ,
email varchar(100) not null ,
phone varchar(255) null ,
address varchar(100) null ,
created_by int unsigned not null ,
created_on timestamp not null ,
modified_on timestamp null );
我插入一行到表像這樣爲了爲我的應用程序創建一種「管理員」用戶。
insert into user value (0, "plm", "admin", "plm_admin", "[email protected]_company.com", "111-222-3333", null, 1, now(), null);
然後我想插入更多的用戶到用戶表中。但是,當我這樣做時,我想指定「created_by」字段被設置爲我剛剛創建的「system」用戶的標識「plm_admin」。
這裏是什麼,我試圖做一個例子:
insert into user value (0, "steve", "smith", "ssmith" , "[email protected]_company.com", "111-222-4444", null, select id from user where user_name = "plm_admin", now(), null);
這個SQL不起作用,但希望你的想法是插入用戶史蒂夫·史密斯的值時,我想指定用戶「plm_admin」的ID作爲「created_by」列的值。
不知道MySQL的價值,但你需要的是MSSQL相當於SCOPE_IDENTITY的獲取最後一個插入語句的主鍵 –