Php 如何在没有主键的情况下更新每行的值?

Php 如何在没有主键的情况下更新每行的值?,php,sql-update,odbc,Php,Sql Update,Odbc,我想更新某一行中的值。但这似乎是不可能的,因为这个表(来自数据库)没有主键。它的列中只有两个外键。我该怎么办?求求你,有什么帮助吗 这是我的密码: <table align= "center" border="1" cellspacing="0" cellpadding="2"> <?php $strgettable="select tblUsrGrp.UsrGrpNama, tblmenu.MenuNama, tblmenuakses.MenuAkses

我想更新某一行中的值。但这似乎是不可能的,因为这个表(来自数据库)没有主键。它的列中只有两个外键。我该怎么办?求求你,有什么帮助吗

这是我的密码:

<table align= "center" border="1" cellspacing="0" cellpadding="2">
<?php

        $strgettable="select tblUsrGrp.UsrGrpNama, tblmenu.MenuNama, tblmenuakses.MenuAkses
                     FROM tblUsrGrp
                     inner join tblMenuAkses 
                     on tblUsrGrp.UsrGrpID = tblMenuAkses.usrgrpid
                     inner join tblMenu 
                     on tblMenu.menuid = tblMenuAkses.menuid";
        $varRecCount=0;
        $rs=odbc_exec($dbconnVOT, $strgettable);
        if($rs)
        {

            echo '<tr><td style=width:10%;>';
            echo '<center><b> No. </b></center>';
            echo '</td>';
            echo '<td style=width:30%;>';
            echo '<center><b> User Group </b></center>';
            echo '</td>';
            echo '<td style=width:20%;>';
            echo '<center><b> Menu Name </b></center>';
            echo '</td>';
            echo '<td style=width:20%;>';
            echo '<center><b> Menu Akses </b></center>';
            echo '</td>';
            echo '<td style=width:20%;>';
            echo '<center><b> Update </b></center>';
            echo '</td></tr>';


            while (odbc_fetch_row($rs))
            {
                $varRecCount++;
                echo '<tr><td>';
                echo '<center> &nbsp;'.$varRecCount.'</center>';
                echo '</td>';
                echo '<td>';
                echo '<center> &nbsp;'.odbc_result($rs,"UsrGrpNama").'</center>';
                echo '</td>';
                echo '<td>';
                echo '<center> &nbsp;'.odbc_result($rs,"MenuNama").'</center>';
                echo '</td>';
                echo '<td>';
                echo '<center> &nbsp;'.odbc_result($rs,"MenuAkses").'</center>';
                echo '</td>';
                echo '<td>';                                                                                                                            
                echo '</td>';
                echo '</td></tr>';          
            }

        }
        ?>


</table>

<div style="text-align:center;">
    <input type="button" name="btnUpdate" id="btnUpdate" onClick="javascript:sendData('updatedata');" value = "Update">
</div>  


任何帮助都将不胜感激。TQ

但是,您需要使用2个或更多列来创建唯一的行。否则它将更新所有行。那么您的意思是表在数据库中没有唯一的id?或者在获取内容时没有调用它?@Naga-ya,我已经想到了这样做。但我不知道如何编写sql<代码>更新tblMenuAkses set MenuAkses='N'where?@junkfoodjunkie是的,它本身没有唯一的id。它的表中只包含两个外键。然后,应该绘制数据库/表的设计者并将其四分之一。重新设计表,添加ID列。愚蠢的设计。根据内容,可以对每个值/列进行匹配(除非有完全相同的行)以获得唯一的匹配。