2015-04-03 5 views
0

Я столкнулся эту ошибку при попытке соединить эти две таблицыКак я могу исправить 1064 Ошибка

Ошибка базы данных Происходило Номер ошибки: 1064

Ошибка:

У вас есть ошибка в синтаксисе SQL; в руководстве, соответствует версии сервера MySQL для корректного синтаксиса использовать около 'заказ, клиент WHERE order.customer_id = customer.customer_id' на линии 2

Запрос:

SELECT order.order_id,order.order_total, 
customer.first_name,customer.last_name FROM order, customer WHERE 
order.customer_id=customer.customer_id; 

Имя файла:

D: \ XAMPP \ HTDOCS \ Compulectronix2 \ система \ базы данных \ DB_driver.php Линия Номер: 330

+0

Попробуйте сделать это с того INNER JOIN клиента ON order.customer_id = customer.customer_id –

+0

Это не работает @Miladinovic –

ответ

1

"ЗАКАЗАТЬ" является зарезервированным словом в SQL. Вы должны указать его с обратными кавычками:

SELECT 
    `order`.order_id, 
    `order`.order_total, 
    customer.first_name, customer.last_name 
FROM `order`, customer 
WHERE `order`.customer_id=customer.customer_id 

List of reserved words

+0

Whoa !!! Я не знал, что заказ - это зарезервированные слова ... Большое спасибо. Это сработало –

+0

@TarekAziz Не могли бы вы принять ответ, пожалуйста. – user4035

+0

okay ... @ user4035 –

1

Каждый язык имеет несколько резервных слов, которые мы также называют те, как ключевое слово. Мы не можем создать переменную с этим резервным словом.

Здесь ваше имя таблицы - «заказ», заказ - это зарезервированное слово в mysql, поэтому он генерирует ошибку en. У вас есть выбор 2

  1. Как практика, не используйте mysql зарезервированное слово как имя таблицы, чтобы вы могли переименовать таблицу.
  2. Если вы не хотите, чтобы переименовать таблицу затем поместить цитату с именем таблицы и пользователем этого путем

    SELECT 
        `order`.order_id, 
        `order`.order_total, 
        customer.first_name, customer.last_name 
    FROM `order`, customer 
    WHERE `order`.customer_id=customer.customer_id 
    

Надеется, что это поможет. Счастливое кодирование.

0

С РЕГИСТРИРУЙТЕСЬ

SELECT `order`.`order_id`, `order`.`order_total`, `customer`.`first_name`, `customer`.`last_name` 
FROM `order` 
JOIN `customer` ON 
`order`.`customer_id` = `customer`.`customer_id`; 

БЕЗ РЕГИСТРИРУЙТЕСЬ

SELECT `order`.`order_id`, `order`. `order_total`, 
`customer`.`first_name`, `customer`.`last_name` 
FROM `order`, `customer` 
WHERE `order`.`customer_id` = `customer`.`customer_id`; 
+0

Спасибо за ответ !!! –

Смежные вопросы