-4

值表

id  name    attributes_id
1   black   3 [->]
2   red     3 [->]
3   blue    3 [->]
5   tortorise   3 [->]
6   oakley  1 [->]
9   green   3 [->]
10  native  1 [->]

product_values 表

values_id   products_id
1 [->]  5 [->]
2 [->]  10 [->]

sql

SELECT values.name, product_values.products_id  FROM `product_values`  inner 
join values ON product_values.values_id=values.id;

错误

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 'values on 
product_values.values_id=values.id' at line 1

感谢您的帮助。

4

2 回答 2

3

values您可能应该在表格参考周围加上一些引号。这是一个保留字

SELECT
    `values`.name,
    product_values.products_id 
FROM
    product_values
    INNER JOIN `values` ON product_values.values_id = `values`.id;
于 2013-04-15T14:36:01.397 回答
0

根据手册,VALUES是mysql的保留关键字。请参见此处:MySQL 保留关键字列表。为了避免出现语法错误,关键字或列名应该使用这个称为反引号的符号进行转义。例子,

SELECT values.name, product_values.products_id  
FROM   `product_values`  
        inner join `values` ON product_values.values_id = `values`.id;
于 2013-04-15T14:40:06.367 回答