我已經看到了幾個問題和答案,但沒有一個與我的問題非常相似,所以現在我問。在連接表上插入Mysql
這裏的情況是
我有一個名爲users
,roles
user_role
表,
表:users
領域:user_id
,username
,password
表:角色
領域:role_id
,role_name
表:USER_ROLE
領域:user_id
,role_id
外鍵的user_role.user_id
是user.user_id
外鍵的user_role.role_id
是role.role_id
我的問題是,當我創建一個用戶,我也希望自己的角色設置爲缺省值或選定值我選擇<select>
元素
我試過幾件事情像
INSERT INTO users as t1 (t1.username, t1.password, t2.role)
JOIN user_role as t2 ON t1.user_id = t2.user_id
VALUES (:username, :password, :role)
我是做超錯了嗎?
編輯,因爲回答以下
我認爲有些事情仍然是錯的,它給了我一個空白屏幕
$this->db->beginTransaction();
$string = "INSERT INTO users (username, password)
VALUES (:user,:pass,:first,:middle,:last,:course)";
$sth = $this->db->prepare($string);
$sth->execute(array(
':user'=> $data['user'],
':pass'=> $data['pass']
));
$sth = $this->db->prepare("INSERT INTO user_roles (user_id, role_id)
VALUES (' . $this->db->lastInsertId(user_id) . ', :role)");
$sth->execute(array(
':role' => 3
));
$this->db->commit();
你必須做2插入 – 2012-07-29 07:40:24
如果我添加另一個插入像 'insert INto user_role VALUES(x,y)' 我不能設置參數x,bec。 USER_ROLE。user_id尚未創建。 – 2012-07-29 07:48:56
你用什麼語言爲你的服務器端? – 2012-07-29 07:51:25