MYSQL update with WHERE SELECT subquery error

后端 未结 4 1301
时光取名叫无心
时光取名叫无心 2020-12-05 02:46

I have an issue with getting select sub-queries to work on an UPDATE. I\'m trying something like the following:

UPDATE foo
   SET bar=bar-1
 WHE         


        
4条回答
  •  北海茫月
    2020-12-05 03:15

    Because of error 1093 Error 1093 (ER_UPDATE_TABLE_USED) SQLSTATE = HY000. The work around is to create a temporary table.

    CREATE TEMPORARY table foo_bak (SELECT baz from foo WHERE fooID='1');
    
    UPDATE foo
      SET foo.bar=foo.bar-1
    WHERE foo.baz =
      (
        SELECT baz
        FROM foo_bak
      );
    
    DROP TABLE foo_bak;
    

提交回复
热议问题