Я изучаю SQL и до сих пор создавал небольшую базу данных. Теперь у меня есть 2 таблицы, называемые countries_visited
и regions_visited
со следующей схемой,Ошибка синтаксиса SQL с UPDATE ... FROM ... JOIN
countries_visited
: [id
, countries
, year_visited
]
regions_visited
: [r_id
, regions
, c_id
, month_visited
]
id
столбцов countries_visited
является первичным ключом, а столбец c_id
regions_visited
является внешним ключом, связанным с countries_visited
Столбец month_visited
в regions_visited
вновь создан, и все записи в настоящее время NULL
. То, что я хочу сделать, - это индивидуально вставить запись в этот новый столбец с условиями.
Итак, я попробовал следующее заявление извлекая из предыдущих примеров здесь, в StackOverflow,
UPDATE regions_visited
SET month_visited = 9
FROM countries_visited
JOIN regions_visited ON countries_visited.id = regions_visited.c_id
WHERE regions_visited.regions = 'Seoul'
AND countries_visited.year_visited = 2006
AND countries_visited.countries = 'South Korea';
Выполнив эту команду на сервере MySQL, он показывает эту ошибку:
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'FROM regions_visited INNER JOIN countries_visited ON regions_visited.c_id = coun' at line 1
Однако, если пренебрегая частью инструкции UPDATE
и SET
, mysql показывает объединенную таблицу с только 1 строкой, которую я хотел бы обновить. Что я сделал не так? Как это сделать?
Спасибо заранее!
MySQL UPDATE не поддерживает «FROM» - см https://dev.mysql.com/doc/refman/5.0/en/update.html – Leo