我写了一个查询,我确信它是正确的形式。 但是我收到了一个错误。 :) 我可以这样查询吗?
UPDATE pages SET
p_name = 'Activites',
p_active = 1,
p_parent = 'sport',
p_parent_id=(
SELECT p_id FROM pages WHERE p_link='sport' LIMIT 1
),
p_link = 'activites'
WHERE p_id = 9;
谢谢。
答案 0 :(得分:3)
你不能这样做。您需要交叉连接表和子查询:
UPDATE
pages AS p
CROSS JOIN (
SELECT p_id FROM pages WHERE p_link='sport' LIMIT 1
) AS sq
SET
p.p_name = 'Activites',
p.p_active = 1,
p.p_parent = 'sport',
p.p.parent_id= sq.p_id
p.p_link = 'activites'
WHERE p.p_id = 9;