如果没有提交,可以rollback哦

解决方案 »

  1.   

    mycon 为连接
    表必须是idb 不能是myisam ,版本 4。0以上
    myquery(mycon ,"startangt")//
    myquery(mycon ,"delect * dp XX weher XX")
    myquery (mycon "rollback")//
      

  2.   

    呵呵,MySQL 在对记录进行删除时,
    只是对其一个标志位设为 删除 状态,所以说在理论上是可以恢复的,
    但是由于 MySQL 中并未给出相应的解决方案,
    也没有给出数据文件的格式,:)那怎么办呢,
    我们只能通过一个十六进制编辑器将其表的数据文件打开,
    然后人工查找到这条记录,
    将记录内容记下来,
    然后写插入语句吧!!
    ^_*
    可别打我,
    就此办法了,:(
      

  3.   

    "……MySQL 在对记录进行删除时,
    只是对其一个标志位设为 删除 状态.……"斑竹,按照这个逻辑那不是MySQL表文件会越来越大?
    删除之后数据还在,那我要真正删除怎么办?
      

  4.   

    是的,如果不进行其它方法干预,文件确实会越来越大!:-)http://expert.csdn.net/Expert/topic/1864/1864396.xml?temp=.4476282
      

  5.   

    呵呵,也不是说文件会越来越大,如果你删除一条记录,
    它的空间的确是没有被释放,
    但是当你再重新插入一条记录时,
    先前删除记录的空间就会被利用了,你用
    SHOW TABLE STATUS
    语句就会发现有一个 Data_free 列,
    它就是你删除记录后的空闲空间了,
    另一个查看 MySQL 删除操作是如何执行的办法是
    1:新建一个表
    2:按 ID 顺序插入几个记录 
    3:SELECT 查看结果
    +-------+---------
    | ID    |
    +-------+---------
    | 1     |
    | 2     |
    | 3     |
    | 4     |
    +-----------------
    4: DELETE ... WHERE ID = 2
    5: INSERT INTO ... SET ID = 5
    6:  SELECT 查看结果
    +-------+---------
    | ID    |
    +-------+---------
    | 1     |
    | 5     |
    | 3     |
    | 4     |
    +-----------------   呵呵,新插入的 ID = 5 使用了先前删除记录的位置哪可能有朋友要问这样不是不舒服嘛,
    可以让它恢复成原有的排序吗??可以! 对表进行优化一下就可以了!!!!