我数据库中有两条相同的记录,我怎么样删除其中的一条??
我这样用了: delete distinct table where ....    不行呀!!

解决方案 »

  1.   

    创建一个删除查询,可从列在 FROM 子句之中的一个或多个表中删除记录,且该子句满足 WHERE 子句中的条件。语法DELETE [table.*]
    FROM table
    WHERE criteriaDELETE 语句可分为以下几个部分:部分 描述
    table 从其中删除记录的表的可选名称。
    table 从其中删除记录的表的名称。
    criteria 决定哪些记录应该被删除的表达式。
    说明可以使用 DELETE 删除多个记录。
    可以使用 Execute 方法与一个 DROP 语句从数据库中放弃整个表。不过,若用这种方法删除表,将会失去表的结构。不同的是当使用 DELETE,只有数据会被删除;表的结构以及表的所有属性仍然保留,例如字段属性及索引。
    可以使用 DELETE 从表中删除记录,且该表与其他表有一对多关系。若在一个查询中删除了关系中‘一’的一方的表的相应记录,级联删除操作将删除关系中‘多’的一方的表的记录。例如,在客户表与订单表之间的关系中,客户表是‘一’方,而订单表是‘多’方。如果指定使用级联删除,从客户数据中删除一个记录,相对应之订单记录也会被删除。删除查询不只删除指定字段之中的数据,它会删除全部的记录。如果您要删除在一个特定字段之中的值,请创建一个更新查询将值改变为 Null。重点?当使用删除查询删除记录之后,不能取消此操作。如果想要知道哪些记录已被删除,首先验证使用相同条件的选定查询的结果,然后运行删除查询。
    ?随时将数据做备份副本。如果您误删除记录,可以从备份副本中将数据恢复。没有你说的这种结构~~
      

  2.   

    我解决了,我这样做的:
    Rs.Open "select * from table where ...", Tmp_Cnn, adOpenStatic, adLockOptimistic
    if not rs.eof then 
       rs.movelast
       rs.delete
       rs.update
    end if要分的来分点!!
      

  3.   

    其实在建表之初这样的问题是可以杜绝的,你可以设置主键select DISTINCT(*)into @tablexxx from tablexdrop table tablex select * into tablex from @tablexxxdrop table @tablexxx之后你还可以为表tablex设置一个主键