mysql4.1版及以上:insert into group values(5,2);
update users set state = (select group_name from user_group where group_id=2) where user_id=5;

解决方案 »

  1.   

    插入(5,2)到user_id 和group_id
    $sql = "insert into group(user_id,group_id) values('5','2')";
    $result = mysql_query($sql);同时在表users中根据对应的字段user_id,在state字段中将group_id对应的group_name(在表user_group中)的值插入。
    $sql = "select * from user_group where group_id = '2'";
    $result = mysql_query($sql);
    $row = mysql_fetch_array($result);$sql = "insert into users(user_id,state) values('5','". $row['group_name'] ."')";
    $result = mysql_query($sql);这些应该可以实现LZ要的功能  有问题继续发贴~~
      

  2.   

    多谢两位,我会尽快结帖的。还有一事不明,请指教!if ( !($db->sql_fetchrow($result)) )
        {
    $sql = "insert into group values(5,2)";


    if ( !$db->sql_query($sql) )
    {
    message_die(GENERAL_ERROR, 'Could not add user to group', '', __LINE__, __FILE__, $sql);
    下面这句怎么放在里面好呢??
    update users set state = (select group_name from user_group where group_id=2) where user_id=5;
    }
      

  3.   

    I suggest you use trigger to finish the work automatically.Trigger is available in mysql 5.delimiter $$ create trigger add_user
     after insert on group
     for each row
     begin
         update users set state=(select group_name from user_group where group_id=NEW.group_id) where user_id=NEW.user_id;
     end  $$delimiter ;
      

  4.   

    if ( !($db->sql_fetchrow($result)) )
        {
    $sql = "insert into group values(5,2)";


    if ( !$db->sql_query($sql) )
    {
    message_die(GENERAL_ERROR, 'Could not add user to group', '', __LINE__, __FILE__, $sql);
    }
    else{
    $sql="update users set state = (select group_name from user_group where group_id=2) where user_id=5;"
    $db->sql_query($sql);
    }
    }