我有表定义:
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');
我想只使用两个查询,这可能吗?
答案 0 :(得分:3)
您可以使用LAST_INSERT_ID()
获取最后插入的主键ID(来自users
表):
INSERT INTO users_description VALUES
(LAST_INSERT_ID(), 'test', 'user description');
答案 1 :(得分:0)
使用LAST_INSERT_ID()
。 Example here.
答案 2 :(得分:0)
$query = mysql_query("insert form (username, pass) values('test', 'test')");
$id = mysql_insert_id();
为您提供PHP中最后插入的ID ..