2014-02-11 63 views
0

我很難從mysql中的視圖中選擇數據到outfile。從mysql視圖中選擇outfile

SELECT * 
INTO OUTFILE '/tmp/test.txt' 
FROM test_view; 

,我發現了以下錯誤:

ERROR 1356 (HY000) at line 1: View 'test_view' references invalid table(s) or column(s) or function(s) or definer/invoker of view lack rights to use them

當我只使用SQL下面,它的罰款。

SELECT * 
FROM test_view; 

我使用的MySQL版本:69年5月1日

感謝。

+0

錯誤消息相當自我解釋,不是嗎?你或者定義者是否有權查詢視圖中使用的所有列和表? – fancyPants

回答

-2

MySQL提供了一種將select語句的結果寫入服務器上的文本文件的簡單機制。使用INTO OUTFILE命名法的擴展選項,可以創建一個逗號分隔值(CSV),該值可導入到電子表格應用程序(如OpenOffice或Excel)或任何其他可接受CSV格式數據的應用程序中。

給定查詢諸如

SELECT order_id,product_name,qty FROM orders 

返回數據的三列,結果可以被放置到該文件中/tmo/orders.txt使用查詢:

SELECT order_id,product_name,qty FROM orders 
INTO OUTFILE '/tmp/orders.txt' 

這將創建一個製表符分隔的文件,每行都在自己的行上。要改變這種行爲,可以在查詢中添加修飾符:

SELECT order_id,product_name,qty FROM orders 
INTO OUTFILE '/tmp/orders.csv' 
FIELDS TERMINATED BY ',' 
ENCLOSED BY '"' 
LINES TERMINATED BY '\n' 
+0

這是否回答了這個問題?沒有人要求快速教程。順便說一句,這聽起來像你從某處複製和粘貼。如果你這樣做,請說出來源。 – fancyPants