【发布时间】:2016-02-08 10:06:19
【问题描述】:
我有 2 张桌子:table1 和 wp_posts。第一个是自定义表格,第二个是 wordpress 表格。
我想更改wp_posts 中与post_title 与table1 中的headline 相同且type_id 键等于41 的条件匹配的所有帖子类型。
我尝试选择这类帖子
SELECT * FROM wp_posts LEFT JOIN table1 ON table1.headline = wp_posts.post_title WHERE table1.type_id = 41
我得到了正确的帖子(我在 phpmyadmin 中这样做)。
所以我尝试了
UPDATE wp_posts SET wp_posts.post_type = 'jobs' FROM wp_posts JOIN table1 ON table1.headline = wp_posts.post_title WHERE table1.type_id = 41
我得到一个错误
#1064 - 您的 SQL 语法有错误;检查与您的 MariaDB 服务器版本相对应的手册,以在第 1 行的“FROM wp_posts JOIN table1 ON table1.headline = wp_posts.post_title W”附近使用正确的语法
表格看起来像这样(大致)
table1
headline | type_id
--------------------
Random | 41
Random 2 | 41
wp_posts
post_title | post_type
--------------------
Random | post
Random 2 | post
我需要将post 更改为jobs
post_title | post_type
--------------------
Random | jobs
Random 2 | jobs
名称(post_title 和 headline)是唯一的,因此不会有重复等。
我的ALTER sql 语句有什么问题?
【问题讨论】:
-
语法中没有更新 ...set ...。
-
更新语法为
Update table set column=value where conditions -
我是 mysql 的初学者(实际上我是被扔进去的,主要不是我的领域),所以我不知道正确的方法。感谢您的澄清。