2013-05-29 67 views
-1

我的問題是我在該表中創建菜單主表即時提及menu_id是主鍵自動增量也在同一個表中創建set_rank列問題是當我插入菜單更新menu_id和set_rank這兩個字段ID都是相同的 並使用$ set_rank_id = mysql_insert_id();但是當我進入新的條目顯示它進入...如何主鍵自動增量id在mysql的不同列中使用

$sql = "INSERT INTO menu_master SET 
      hotel_id  = '".mysql_real_escape_string($_REQUEST['hotel_id'])."', 
      menu_name  = '".mysql_real_escape_string($_REQUEST['menu_name'])."', 
      menu_name_ar = '".mysql_real_escape_string($_REQUEST['menu_name_ar'])."', 
      is_active  = '".$is_active."'"; 
      //echo $sql."<br/>"; 

       mysql_query($sql); 

       $set_rank_id=mysql_insert_id(); 




        $sql = "INSERT INTO menu_master SET 
      set_rank = '".$set_rank_id."'"; 

       mysql_query($sql); 
      $sql_sitelog = "UPDATE ".SITELOG." SET 
      site_updated_on='".date('Y-m-d G:i:s a')."'"; 
      mysql_query($sql_sitelog); 
+0

當然,因爲你'插入兩行。如果您想**更新現有的行,請執行「UPDATE」查詢。這有兩個冗餘列,但這真的很有用嗎?你以後會改變'set_rank'的值嗎? – deceze

回答

0

變化

$sql = "INSERT INTO menu_master SET 
      set_rank = '".$set_rank_id."'"; 

$sql = "UPDATE menu_master SET 
      set_rank = '".$set_rank_id."'" WHERE menu_id='".$set_rank_id."'"; 
1

你做錯了。一旦獲得通過

$set_rank_id=mysql_insert_id(); 

最後插入的ID,您應該僅用於特定記錄 設置set_rank字段與此值,所以你可以使用下面的查詢

$sql = "update menu_master set set_rank = $set_rank_id where menu_id = $set_rank_id"; 
+0

thanx夥計這是woking ............ –

+0

沒問題。樂意效勞 – guruwinder