2011-10-04 55 views
0

嗨我怎样才能使用这个语句插入与创建的帐户相同的ID到一个称为布局的表中?如何将多个ID插入到不同的表mysql中?

 $q = $dbc -> prepare("INSERT INTO accounts (email, password, salt, username, gender, loginIP, shrapnel, joined) VALUES (?, ?, ?, ?, ?, ?, ?, ?)"); 
    $q -> execute(array($_POST['email'], hash('sha512', 'jooosjdsakjdsn' . $_POST['password'] . md5($random)), md5($random), $_POST['username'], $_POST['gender'], $_SERVER['REMOTE_ADDR'], $random, date('Y-m-d : H:i:s'))); 

加入可能吗?该ID是表帐户中的自动增量字段。

回答

2

您可以尝试在其他查询中立即使用LAST_INSERT_ID()

+0

工作真棒,这是一个完全支持的mysql函数? – pv1

+0

它在MySQL文档中:http://dev.mysql.com/doc/refman/5.0/en/information-functions.html – imm

1

你将不得不添加一些sql到你的脚本中,像这样 插入布局(accountsid,.......)VALUES(LAST_INSERT_ID(),....)。

注意:如果帐户表还有一个标识列,并且您插入多次,那么您必须将主表的LAST_INSERT_ID()保留为一个单独的变量,否则从第二次插入帐户表开始, LAST_INSERT_ID()函数将返回帐号表的ID号

相关问题