0

我目前有 2 张桌子

存储可以存储在另一个中的所有不同值(名称)的表。

item_slots: 
id | Name

items_list:
id | user_id | i_slot | Name

item_slots 有 11 个条目,而 items_list 可以有无限个。在我查询 items_list 的过程中,它可以根据 user_id 返回任意数量的项目。

我需要根据 i_slot 中的关联 ID 将 items_list.i_slot 替换为 item_slots.name

我正在尝试以下操作:

SELECT il.* is.name
FROM items_list AS il
JOIN item_slots AS is 
ON is.id = il.i_slot
WHERE il.user_id = 3

这将返回以下错误:#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 '.name FROM items_list AS il JOIN item_slots AS is ON is.id = il.i_slot WHERE il' at line 1

4

2 回答 2

2

is是 MySQL 中的保留关键字。您必须在其周围放置反引号:

SELECT il.*, `is`.name
FROM items_list AS il
JOIN item_slots AS `is` 
ON `is`.id = il.i_slot
WHERE il.user_id = 3
于 2012-07-11T17:48:08.127 回答
1

is是 MySQL 中的关键字(如IS NULL等),试试这个(转义别名)

SELECT il.*, `is`.name
FROM items_list AS il
JOIN item_slots AS `is` 
ON `is`.id = il.i_slot
WHERE il.user_id = 3
于 2012-07-11T17:47:24.237 回答