簡體   English   中英

mysql-從父表插入ID

[英]mysql - insert id from parent table

我有表定義:

create table users(
                  id int not null auto_increment, 
                  usernaname varchar(50) not null, 
                  pass varchar(50) not null,
                  primary key(id)
                  ) ENGINE=InnoDB  DEFAULT CHARSET=utf8;
create table users_description(
                  user_id int not null, 
                  description varchar(255),
                  key(user_id), 
                  foreign key(user_id) references users(id) on delete cascade
) ENGINE=InnoDB  DEFAULT CHARSET=utf8;

很好,效果很好。

但是當我添加一個新用戶時,我使用下一個查詢:

insert into users (username, pass) values('test', 'test');

但是如何在users_description表中自動添加用戶ID? 與此類似:

insert into users_description values(
                                    select id from users where username = 'test',
                                     'user description');

我只想使用兩個查詢,這可能嗎?

您可以使用LAST_INSERT_ID()來獲取最后插入的主鍵ID(可以從users表中獲取):

INSERT INTO users_description VALUES 
(LAST_INSERT_ID(), 'test', 'user description');

使用LAST_INSERT_ID() 這里的例子。

$query = mysql_query("insert form (username, pass) values('test', 'test')");
$id = mysql_insert_id();

為您提供PHP中最后插入的ID。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM