易截截图软件、单文件、免安装、纯绿色、仅160KB

mysql关联表 删除多余数据

现在表有A,B
A表中有个B_ID,
现在表A中有很多数据对应的B_ID在表B中找不到
需要删除
sql语句如何写?
SQL code:

delete from A where B_ID NOT IN (select ID from B);


这张表有6000万数据,2000万是多余的
有更好的sql语句吗???
delete a from A
left join b on B_ID=b.id
where b.id is null



SQL code:

DELETE from A
WHERE NOT EXISTS(SELECT 1 from B WHERE ID=A.B_ID);



引用
or
直接生成一个新表
create table newtt as
select a.* from a inner join b on a.B_ID=b.id

貌似这个不错

如果 b (ID) 是主键,

#3楼的方法
SQL code:
DELETE from A
WHERE NOT EXISTS(SELECT 1 from B WHERE ID=A.B_ID);


另外 这张表有6000万数据,2000万是多余的 如果没有约束上的限制,不如重建一个表,速度反而快。


相关问答:

mysql储存过程的问题

我现在学习MYSQL,问下mysql储存过程如何建立和使用,最好写成$sql="sql语句",$re=mysql_query($sql);谢谢
建议你先自己看一下文档中的例子。

http://dev.mysql.com/doc/refman/5.1/zh/stored-pro ......

MYSQL 如何修改BLOB类型的数据?

如题 数据是BLOB类型 怎么才能修改其中的某些值
BLOB中存入的是什么内容?

假设字段memo为blob类型,在该字段的值前面增加字符串'add--'
则操作语句如下:
SQL code:
update tb_blog set memo=concat( ......

MYSQL与Smarty的应用

在三十讲遇到这样一个问题就是运行代码时出现错误 Fatal error: Call to undefined method mysql::fetch_array() in D:\WWW\news\index.php on line 12
,我把mysql::fetch_array() 改成mysql::fetch_row() 又出现F ......

mysql中后退命令?

mysql>create book(
    ->id varchar(20) not null,g
    ->
以上是在mysql命令行里的操作
在上面中我在倒数第二行多打了一个字母g然后按了回车键,请问从倒数第一行怎么 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号