2 x13764390223 x13764390223 于 2016.03.15 10:38 提问

sql delete from删除数据问题

我用delete from语句删除表内数据后在另一个地方还能看到删除前的数据,这是个什么原因,哪位大神能解答一下嘛

顺便说下如何解决最好~

6个回答

qq423399099
qq423399099   Ds   Rxr 2016.03.15 10:56
已采纳

是不是因为没有commit?

qq423399099
qq423399099 回复小灸舞: insert,delete,update属于DML(数据操作语言)命令,当执行DML命令如果没有提交,将不会被其他会话看到。 除非在DML命令之后执行了DDL(数据定义语言,create,drop,alter这些)命令或DCL(数据控制语言,有grant,deny,revoke这些)命令, 或用户退出会话或终止实例,此时系统会自动发出commit命令,使未提交的DML命令提交
2 年多之前 回复
qq_21792169
qq_21792169   2016.03.15 10:43

删除不彻底,加上内联删除选项,

x13764390223
x13764390223 可是我内部一些绑定字段都有用无法删除啊
2 年多之前 回复
sinat_21689399
sinat_21689399   2016.03.15 10:47

在哪个地方看到也不说清楚了

x13764390223
x13764390223 我们公司自己编的平台- -我删除后查询了一下,表里也没数据的,可在别的地方还是看得到
2 年多之前 回复
qq_25093755
qq_25093755   2016.03.15 10:54

数据在存储的时候管理了其他的表信息。
删除的时候还需要把相关联的表信息Update或者Delete掉,不然会产生没有用的数据。

f445239051
f445239051   2016.03.15 11:05

你说的具体点,是在另外一个控制台还能查到数据,还是说你在你的应用里面还能查到数据,应用里面还能查到就有可能是缓存的问题了

dandanwang
dandanwang   2016.03.16 15:48

删除数据后一般要考虑是否commit数据,这样才能真正的删除,如果是sqlserver这个是数据库自动提交的,而对于oracle数据库这里需要显性调用一下。同时其他客户端需要重新查询一下才能得到当前的数据状态,因为客户端一般是采的用拉模式进行的,需要从数据库查询后才行,这也是并发问题的一种是脏数据。

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
Trafodion 解决delete慢的问题
Trafodion不推荐在单一语句中删除或更新超过10000*n行(n为节点数)。所以在有大的删除或更新时,可能的情况下,应该分成多条语句执行,每条不超过10000*n行。具体语法如下,delete [first 10000*n] from table_name ...如果要按照这种方式实现,可能需要结合for..loop循环删除数据。除此之外,Trafodion提供另外一种delete数据的方法,
关于Mysql用not in 删除问题
mysql比较恶心的一个delete in操作 mysql中    delete from tableA where id not in (1,2,3) 是没有问题的   delete from tableA where id not in (select id from tableB) 也是木有问题的 但是    delete from tableA w
DELETE FROM TABLE_NAME 数据库删除行数据SQL
DELETE FROM TABLE_NAME 数据库删除行数据SQLDELETE FROM TABLE_NAME1 WHERE ID=2DELETE FROM TABLE_NAME2. |DELETE * FROM TABLE_NAME2. 删除TABLE_NAME2表中所有列注:每删除一条会在日志中记录.若论删除效率TRUECATE效率要更高...
典型sql面试点-rowid删除数据
在Oracle数据库中有一表t_foo,表中有一字段id,如何高效地删除表中id字段的重复数据 ? 解答: 因为Oracle提供了两个伪例,一个是rownum,另一个是rowid,他们的应用分别是分页查询和性能调优上。 这里需要使用到rowid,因为它是oracle数据库自动为记录添加唯一的18位编号,不会随着查询而改变。 --思路: --先查看rowid sel
Mysql命令delete from:删除记录
delete from命令用于删除表中的数据。 delete from命令格式:delete from 表名 where 表达式 例如,删除表 MyClass中编号为1 的记录:     mysql> delete from MyClass where id=1; 请对比一下删除数据前后表的变化。 FirstName LastName Age
sql中like的用法,做删除操作时应该注意的问题
sql中的like操作,以下这个问题,关于like在delete中的使用. 千万要注意的.如果like条件为空,会清空你的表,like在与select配合使用时,不注意这个问题也不会出现问题,假如我们做搜索,当条件为空时,这样写: select id,title,content from table where title like '%手机%'; 这样会把含有"手机"的信息查
hive数据库操作详解,creat,delete,alter,select,load..
转载自 http://gaoxianwei.iteye.com/blog/2160558 --创建数据库 create database if not exists sopdm comment ‘this is test database’ with dbproperties(‘creator’=’gxw’,’date’=’2014-11-12’)     --数据库键
DeleteCommand批量删除数据库数据
前面讲述了怎么用  InsertCommand、UpdateCommand批量插入和更新数据库数据,今天讲一下怎么用DeleteCommand批量删除数据库数据。 DeleteCommand操作要明确有dss.Tables[0].Rows[j].Delete()这个动作,才能成功删除数据。 延续前面的InsertCommand、UpdateCommand,直接上代码:(说明,我已经把从
[iOS sql数据库] 根据多个条件delete数据
命令的关键是@"delete from mqttlist where uid = '%@' and indexCount = '0'"@"delete from 表名 where 字段A = '%@' and 字段B = '0'"
SQL SERVER在对大数据量表数据进行DELETE时易发“操作超时”
    使用的是SQL2000数据库,编写了一个C#的应用程序,其中一个功能就是清空指定表的全部数据,一个奇怪的现象直到今天才被发现,那就是当这个表的数据的容量非常大的时候,我遇到的情况是该表内包含5800条数据,但是数据的总容量大于3G,当程序调用SQL语句“DELETE FROM TABLE”时,再等待了20秒左右后,提示“数据库操作超时,ODBC执行超时”,然后我分别尝试删除其中的3000条