如何在mysql的不同列中使用主键自动增量id

时间:2013-05-29 05:44:10

标签: php mysql

我的问题是我在该表中创建菜单主表我提到menu_id也是主键自动增量而且在同一个表中我创建set_rank列问题是当我插入菜单更新menu_id和set_rank时两个字段id都相同     并使用$ set_rank_id = mysql_insert_id();但是当我输入新条目时,它会显示出来......

    $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);

2 个答案:

答案 0 :(得分:1)

你做错了。使用

获取最后一个插入ID后
$set_rank_id=mysql_insert_id();

您应该仅在该特定记录的set_rank字段中设置此值 所以你可以使用以下查询

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

答案 1 :(得分: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."'";