DELETE a FROM a,b WHERE a.id=b.id;

解决方案 »

  1.   

    楼上的sql执行不了,是不是MYSQL不支持"."
    表李只有一个字段id
    表a  id            表b   id
          1                   1
          2                   2
          3                   3
          4
          5
          6
          7
          8
          9
          0
    执行后
    表a    id           表b    id
           4                   1
           5                   2
           6                   3
           7
           8
           9
           0
      

  2.   

    怎么会呢?我在4.1和5.0下都测试过了,没问题啊?你的mysql版本多少?
    #先建表a1和b1
    CREATE TABLE a1(
    id int NOT null AUTO_INCREMENT,
    PRIMARY KEY(id)
    );
    CREATE TABLE b1(
    id int NOT null AUTO_INCREMENT,
    PRIMARY KEY(id)
    );#向a1中添加8条数据,b1中添加两条
    INSERT into a1 VALUES(null),(null),(null),(null),(null),(null),(null),(null);
    INSERT into b1 VALUES(null),(null);#你可以查看a1,b1中的数据,和你上面帖子中的要求是一样的。
    SELECT * from a1;
    SELECT * from b1;#删除a1中的和b1数据相同的数据。
    DELETE a1 from a1,b1 where a1.id=b1.id;
    #你再次可以查看a1,b1中的数据,和你上面帖子中的要求是一样的。
    SELECT * from a1;
    SELECT * from b1;
      

  3.   

    DELETE telnumber_ok from telnumber_ok,telnumber where telnumber_ok.str=telnumber.str;[root@localhost:3306] ERROR 1064: You have an error in your SQL syntax near 'telnumber_ok from telnumber_ok,telnumber where telnumber_ok.str=telnumber.str' at line 1
      

  4.   

    Delete from a where id not in (select id from b)
      

  5.   

    Delete from a where id in (select id from b)
      

  6.   

    tom_314159:
         好像不对的。mysql支持这种语法 吗?
      

  7.   

    TO: LightSun1003(武婧OnlyYou)
    兩個表裡面的str是主鍵嗎?