2011-10-04 119 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號