Я создал представление, что INNER JOINS
группа таблиц, но которые, по-видимому, все еще могут быть обновляемыми в соответствии с правилами MySQL, но обновление данных, похоже, не работает.Вот представление, как показано в WorkBench:
CREATE
ALGORITHM = UNDEFINED
VIEW `event_registrants` AS
SELECT
`event_details`.`DTT_EVT_start` AS `Event_Start`,
`attendee_meta`.`ATT_email` AS `ATT_email`,
`users`.`ID` AS `ID`,
`user_detail_tbl`.`first_name` AS `first_name`,
`user_detail_tbl`.`nickname` AS `nickname`,
`user_detail_tbl`.`last_name` AS `last_name`,
`registration`.`EVT_ID` AS `EVT_ID`,
`posts`.`post_title` AS `post_title`,
`misc_tbl`.`ANS_value` AS `ANS_value`
FROM
((((((`misc_tbl`
JOIN `registration` ON ((`misc_tbl`.`REG_ID` = `registration`.`REG_ID`)))
JOIN `event_details` ON ((`registration`.`EVT_ID` = `event_details`.`EVT_ID`)))
JOIN `posts` ON ((`posts`.`ID` = `registration`.`EVT_ID`)))
JOIN `attendee_meta` ON ((`registration`.`ATT_ID` = `attendee_meta`.`ATT_ID`)))
JOIN `users` ON ((`attendee_meta`.`ATT_email` = `users`.`user_email`)))
JOIN `user_detail_tbl` ON ((`users`.`ID` = `user_detail_tbl`.`user_id`)))
Согласно mysqltutorial.org (http://www.mysqltutorial.org/create-sql-updatable-views.aspx), можно проверить, обновляются ли их представления, используя
SELECT
table_name,
is_updatable
FROM
information_schema.views
Выходные данныеиз запроса указывает, что мое представление является обновляемым (is_updatable = YES
)
По некоторым причинам простое обновление, например:
UPDATE event_registrants
SET nickname='Terminator'
WHERE first_name='John';
дает Error Code: 1288. The target table event registrants of the UPDATE is not updatable
.