2015-04-03 202 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 \ system \ database \ DB_driver.php行 編號:330

+0

嘗試做到這一點從訂單INNER JOIN客戶ON order.customer_id = customer.customer_id – 2015-04-03 14:20:52

+0

它不工作@Miladinovic – 2015-04-03 14:24:55

回答

1

「ORDER」是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

哇!我不知道訂單是一個保留字...非常感謝。它工作 – 2015-04-03 14:39:44

+0

@TarekAziz請你接受答案。 – user4035 2015-04-03 14:42:37

+0

好的... @ user4035 – 2015-04-03 14:48:09

1

每一種語言都有一些儲備的話,我們還呼籲那些爲關鍵字。我們不能用這些保留字來創建變量。

這裏你的表名是'order',order是mysql中的一個保留字,所以它會產生en錯誤。你有兩個選擇

  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

與Join

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

感謝您的回答! – 2015-04-03 14:51:21