当前查询有什么错误? (更新mysql之前就可以了)
接收:
#1064 - 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 'LIKE ON LIKE.feed_item_id = feed_item.id AND LIKE.user_id= LEFT JOIN category ON' at line 15
查询:
SELECT feed_item.*,
user.id AS user_id,
user.first_name,
user.last_name,
user.avatar_url,
category.name AS category_name,
feed_item.*,
user.id AS user_id,
user.first_name,
user.last_name,
user.avatar_url,
like.user_id AS is_liked
FROM (feed_item)
LEFT JOIN USER ON USER.id=feed_item.user_id
LEFT JOIN LIKE ON LIKE.feed_item_id = feed_item.id
AND LIKE.user_id=
LEFT JOIN category ON category.id=feed_item.category_id
WHERE feed_item.visibility IN ('public')
AND feed_item.user_id != 0
ORDER BY time_stamp DESC LIMIT 11
如何解决这个问题? 谢谢,
最佳答案
LIKE
是一个保留关键字,您需要将其用反引号括起来,同样这里 LIKE.user_id=
您还没有指定相等条件的参数(例如LIKE.user_id = 30
)
SELECT feed_item.*,
user.id AS user_id,
user.first_name,
user.last_name,
user.avatar_url,
category.name AS category_name,
feed_item.*,
user.id AS user_id,
user.first_name,
user.last_name,
user.avatar_url,
`like`.user_id AS is_liked
FROM feed_item
LEFT JOIN USER ON USER.id=feed_item.user_id
LEFT JOIN `LIKE` ON `LIKE`.`feed_item_id` = feed_item.id
AND `LIKE`.`user_id`= feed_item.user_id // <- here
LEFT JOIN category ON category.id=feed_item.category_id
WHERE feed_item.visibility IN ('public')
AND feed_item.user_id != 0
ORDER BY time_stamp DESC LIMIT 11
关于php - 修复sql查询(更新mysql之前工作),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25380059/