0

一番下の2番目のクエリで以下のエラーが発生します。理由はありますか?

ありがとう

エラー: エラー番号: 1093

You can't specify target table 'menus' for update in FROM clause

動作:

INSERT INTO menus
(name, controller, parent)
VALUES
('A', 'B', (SELECT id FROM menus menus_alias WHERE SHA1(menus_alias.id) = '1'))

両方とも機能しません:

UPDATE menus SET
parent = (SELECT id FROM menus menus_alias WHERE SHA1(menus_alias.id) = '1')
WHERE SHA1(id) = '5'

UPDATE menus menus_alias SET
menus_alias.parent = (SELECT id FROM menus WHERE SHA1(id) = '1')
WHERE SHA1(menus_alias.id) = '5'

これらをチェックアウトしました:

その他

4

3 に答える 3

1

これを試すことができます

UPDATE menus SET
parent =(
    SELECT id FROM (
        SELECT id FROM menus
    ) AS x 
    WHERE SHA1(id) = '1'
)
WHERE SHA1(menus_alias.id) = '5'
于 2013-06-07T11:44:10.980 に答える