는 내가보기에 세 개의 테이블에 합류 한 후 내가보기를 업데이트하고이 오류MySQL의 멀티 업데이트 오류
#1393 - Can not modify more than one base table through a join view
ER_VIEW_MULTIUPDATE
내가 오류를 이해를 얻을하려고합니다. 한 번에 여러 테이블을 업데이트 할 수 없습니다.
... 이전에이 작업을 수행했습니다. 지난 주 정확한, 동일한 컴퓨터에서 동일한 MySQL 설치.
필자는 이전에 뷰를 통해 테이블을 결합 (사실 동일한 테이블)하고 아무런 문제없이 뷰를 업데이트했음을 약속드립니다.
아무도 왜 작동하지 않는지 알고 있습니까?
지난 주 일한 PHP 코드 당신이있어 반면
"UPDATE administrators AS a INNER JOIN user_types AS ut ON a.admin_id = ut.type_id INNER JOIN users AS u ON u.user_id = ut.user_id SET a.firstname = '{$user_input["firstname"]}', a.surname = '{$user_input["surname"]}', u.email_address = '{$user_input["email_address"]}' WHERE u.user_id = {$user_input["user_id"]}"
지금
CREATE VIEW admin_users AS
SELECT administrators ad
JOIN user_types ut
ON ad.admin_id = ut.type_reference
JOIN users us
ON ut.user_id = us.user_id
WHERE ut.user_type = 'ADMIN'
UPDATE admin_users
SET
firstname = 'alex2',
surname = 'finch2',
email_address = '[email protected]'
WHERE
user_id = 2
그것은 도움이 될 것입니다. 뷰와 'UPDATE'쿼리를위한 SQL. 나는 당신의'UPDATE'가 하나 이상의 테이블에 속하는 필드를 수정하고 있지만, 어떤 코드를 보지 않고서는 알 수 없다고 생각합니다. –
지난 주에 사용한 업데이트 SQL을 게시하십시오! :) – Pentium10
오늘 사용중인 테이블과 사용자 중 하나에 권한 문제가있을 수 있습니다. 이는 "지난 주"에서 사용한 사용자와 다를 수 있습니다. – vulkanino