Мне было интересно, можно ли обновить несколько таблиц одним запросом с помощью mysql. Я пробовал использовать INNER JOIN, но я считаю, что я ушел, потому что я продолжаю получать синтаксическую ошибку после синтаксической ошибки. Ниже мой текущий синтаксис SQL:Как обновить несколько таблиц с 1 запросом в MYSQL
UPDATE blog_posts a INNER JOIN search b ON a.postTitle = b.title, a.postSlug = b.link, a.postDesc = b.description, a.postCont SET a.:postTitle = b.:postTitle, a.:postSlug = b.:postSlug, a.:postDesc = b.postDesc, a.:postCont WHERE postID = :postID AND title = :postTitle
Вот некоторые фона: У меня есть две таблицы в той же базе данных. Один из них называется blog_posts и другой поиск. В моей таблице blog_posts содержится контент для сообщений в блоге на моем веб-сайте. Недавно я добавил поисковую систему на свой сайт и добавил поиск в таблице, чтобы сохранить все данные моих страниц. Моя идея состоит в том, что каждый раз, когда кто-то обновляет сообщение в блоге, информация в таблице поиска будет обновляться также с той же информацией. Я знаю, что мой синтаксис выключен, но я был бы признателен, если бы кто-то помог мне получить его тактично, чтобы он сделал то, что я описал выше.
Кроме того, мои таблицы имеют разные имена столбцов. blog_posts имеет следующее: сообщения дан, postTitle, postSlug (название преобразуются в ссылки), и postDesc поиск имеет следующий: идентификатор, название, описание, ключевые слова и ссылки
Я пытался сделать мой сценарий так что он обновляет строку таблицы поиска, где заголовок postTitle =. Может быть, есть лучший способ сделать это? В любом случае, любая помощь будет оценена по достоинству.
Нет, вы не можете обновить несколько таблиц с MySQL соединений. Однако вы можете использовать транзакции, чтобы автоматически обновлять другие таблицы, чтобы синхронизировать все. Лично я всегда занимался этим прагматично. – terribleuser
О, я прочитал, что объединения будут обновлять несколько таблиц. Однако, спасибо. Любые сайты, которые могут привести меня в правильном направлении? @terribleuser –
вы определенно можете это сделать. – ethorn10