将列ID更改为另一个表中的关联值

时间:2012-07-11 17:44:34

标签: mysql

我目前有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

2 个答案:

答案 0 :(得分: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

答案 1 :(得分: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