我的表里面有一个列news
在我取出这个列的每一行时候我同时要知道这一行的系统id号,就是mysql自动保存的那个序号,而不是需要我另外加一个AUTO_INCREMENT的列来保存id。因为我的表是不可以改动的,只有一个列news,我需要更新其中某一行,where的条件是系统id,但是我不知道怎么取这个id。

解决方案 »

  1.   

    呵呵,好像不行,
    如果你的new列值是唯一的,
    你可以这样
    UPDATE Table1 SET new = '345' WHERE new ='123';
      

  2.   

    可是我得上一个程序员就得到了这样子的id,我不知道他是怎么得的,一定有这样子的办法!可以达到AUTO_INCREMENT的列的效果。
      

  3.   

    不过news这个字段是有索引的,有没有办法取得它的索引序号呢??
      

  4.   

    ?不知道是不是:
    select last_insert_id() as yourID;
      

  5.   

    可是我得上一个程序员就得到了这样子的id,我不知道他是怎么得的,一定有这样子的办法!能说得更详细一点吗,
    他的表结构,
    他所用的SQL语句??(呵呵,费话一句,知了也就不问了)
    显示的结果,
      

  6.   

    另:用SELECT * FROM myTable;
    取出的顺序是按物理顺序来排的,
    不论你是否建有索引
    不是你的上一程序员是不是这样做的
      

  7.   

    表的结构:
    CREATE TABLE Coffe_en_FR (
      info char(255) default NULL,
      aKey char(30) default NULL
    ) TYPE=MyISAM;再浏览器中显示为:
    <a href="atchik.tools.edit?action=edit&id=1">1</a> : 毫无疑问,看起来很好! 
    <a href="atchik.tools.edit?action=edit&id=2">2</a> : 你的心知道答案,听后便知道! 
    <a href="atchik.tools.edit?action=edit&id=5">5</a> : 这不是你真正想要问的问题… 
    <a href="atchik.tools.edit?action=edit&id=6">6</a> : 这不是你真正想要听到的答案… 然后点击任何链接进到:atchik.tools.edit页面
    <FORM method="POST" ACTION="LoveAdmOracleChange">
    <INPUT TYPE="HIDDEN" NAME="action" VALUE="change">
    <INPUT TYPE="HIDDEN" NAME="id" VALUE="1"><tr>
            <td>Message</td>
      <td><INPUT TYPE="TEXT" NAME="message" VALUE="毫无疑问,看起来很好!" SIZE=100 MAXLENGTH=70></td>
    </tr><tr>
      <td><INPUT TYPE="BUTTON" VALUE="Update" onclick="changeButton()">
      </td>
      <td><INPUT TYPE="BUTTON" VALUE="Delete" onclick="deleteButton()">
      </td>
      <td><INPUT TYPE="BUTTON" VALUE="Cancel" onclick="cancelButton()">
      </td>
    </tr></FORM>点击更新就执行了update,我是奇怪她怎么能通过id来更新数据的,而且这个id和AUTO_INCREMENT一样,删除其中一个之后,他会空出那个删除的id。。苦啊..............java的中文问题如果通过这个办法,永远都不会有中文问题了!!!!!!!!!!!!!!!!!!!
      

  8.   

    其实你都不用问。
    一、假如可以重新做,你可以做得更好。
    二、这个过程很简单,稍想想就明白了。
    三、和AUTO_INCREMENT没有什么关系,当然你可以使用AUTO_INCREMENT,但你也可以直接使用现在的表,不过这个aKey其实很危险,应该定义成唯一的呀,用AUTO_INCREMENT可以节省空间,查询更快,不用自己处理……,比char(30)好得多。呵呵,既然都是从一个表查出来的,为什么不知道是哪行呢?