【发布时间】:2012-08-01 07:12:09
【问题描述】:
我有两张桌子tbl_users(id,role_id,username),tbl_roles(id,role_name)
我必须通过从 role_name 中获取与 role_name = user 对应的 id 来更新 tbl_users 中用户名的 role_id。
为此,我做了两个查询,首先从表 tbl_roles 中的 where role_name="user" 获取 role_id,然后在 tbl_users 中设置 role_id where username="username"。
我的模型功能:- 我在这里做了两个查询,并询问是否可以在一个查询中完成。
function dropModerator($username) {
$this->db->select('role_id');
$this->db->where('role_name',"User");
$role_id = $this->db->get('tbl_roles');
foreach($role_id->result() as $value)
$role = $value->role_id;
$sql = "UPDATE tbl_users SET role_id='$role' WHERE username='$username'";
return $this->db->query($sql);
}
再次,我想这样做是因为,这会使我的程序在运行时变慢,我想在单个查询中执行它以快速获得输出。
【问题讨论】:
-
您的问题在哪里?你想达到什么目标?你指出你有三个表,但你只引用了两个。
标签: php sql codeigniter