肯定是这个原因没错,至于记录的合法性你自己验证就行了。这种情况除非表中的非法记录都没有了,不然不能用图形化界面删除的,只能用语句。 你可以用语句判断一下有没有重复记录 SELECT COUNT(1) FROM [表名] SELECT COUNT(1) FROM (SELECT DISTINCT * FROM [表名]) T 如果一致说明没有重复记录
那就改用语句删除,DELETE FROM TB WHER COL1=.. AND COL2=.. AND ... AND COLN=..把所有列的值都写上就可以了。
根据这个条件删除的可能不只一条记录...
你使用图形化界面删除时,实际是生成了一条DELETE语句执行,如果你选择删除的记录在表中有一行或多行和它完全相同的记录,那用语句删除的就会是所有相同的记录,最终的结果就是你点一条删除,结果删了多条。所以MSSQL对这种情况就报个错,让你用语句删除。
你可以用语句判断一下有没有重复记录
SELECT COUNT(1) FROM [表名]
SELECT COUNT(1) FROM (SELECT DISTINCT * FROM [表名]) T
如果一致说明没有重复记录