使用外键插入数据库

时间:2013-04-22 19:15:40

标签: php mysql sql

我有以下表格 tbl_user - ID,用户名,密码(ID为pk并自动递增)
tbl_userprofile - id,用户ID,姓名,姓氏,性别,国籍,地址,手机,部门,电子邮件,问题,答案。
userid是tbl_user中引用id的tbl_userprofile中的外键 我正在尝试将新用户插入 tbl_userprofile 。要在 tbl_userprofile 中获取用户ID,我的方法是使用select语句来获取id表单 tbl_user ,但我不确定如何构造WHERE子句。

$SQL = "INSERT INTO tbl_userprofile (userid, name, surname, gender, nationality, address, mobile, department, email, question, answer) VALUES 

('(SELECT id from tbl_user WHERE *something*) ', '$name','$surname','$gender','$nationality','$address','$mobile','$department','$email','$question','$answer')"; 我如何构建我的WHERE子句?或者我可以用不同的方式解决这个问题吗? 注意:我想我应该提一下,插入 tbl_user tbl_userprofile 会处理两个不同的脚本,因为表单位于两个不同的页面上。

1 个答案:

答案 0 :(得分:1)

您可以使用INSERT SELECT声明:

INSERT INTO tbl_userprofile (userid, name, surname, gender, nationality, address, mobile, department, email, question, answer) 
SELECT id, '$name', '$surname', '$gender', '$nationality', '$address','$mobile', '$department', '$email', '$question', '$answer'
FROM tbl_user 
WHERE *something*

http://dev.mysql.com/doc/refman/5.0/en/insert-select.html