2017-03-05 25 views
0

我剛剛開始自學使用postgresql和psequel使用」Head First SQL「一書中的SQL。我想價值觀,像這樣添加到我的第一個表:查找臭名昭着的''「

insert into my_contacts 

(last_name, 
first_name, 
email, 
gender, 
birthday, 
profession, 
location, 
status, 
interests, 
seeking) 
values 
(‘Anderson’, 
‘Jillian’, 
‘[email protected]’, 
‘f’, 
‘1980-09-05’, 
‘technical writer’, 
‘Palo Alto, CA’, 
‘Single’, 
‘Kayaking, Reptiles’, 
‘Relationship, Friends’); 

,但我不斷收到一條消息說有一個語法錯誤或接近「'」。大約有一百萬個縮小了哪一個非常困難,但我已經經歷了這個列表中的每一個簡單的引用,我無法弄清楚發生了什麼問題。當我嘗試直接進入終端時,我收到一條消息,內容是

ERROR: syntax error at or near "’" 
LINE 17: ‘1980-09-05’, 

我錯過了什麼?日期有什麼問題嗎?我是否使用了太多簡單的引號?

謝謝! ^

+1

什麼生日字段的數據類型?如果是一個日期,'1980-09-05'可能不是在postgreSQL中表達日期的有效方法,你需要做一些類似'to_date('1980/09/05','YYYY/MM/DD')的操作'。我根本不瞭解postgreSQL,但希望這是有效的。 – Ghost

+6

你所有的引號看起來都像是聰明的引號,而不僅僅是'''。 –

回答

5

正如戈登在評論中所說,這些不是單引號字符(您在此問題標題中鍵入的字符)。它們是curly quotes,這是SQL解析器無法識別的兩個不同的字符代碼。他們可能會成爲圍繞你價值觀的傷心表情符號。

您正在使用哪種文本編輯器?您可能正在輸入單引號,但您的編輯正試圖通過轉換它們(非常有用)(很難故意輸入它們)。您可以查看是否可以在設置中禁用智能引號...或者嘗試更多以代碼爲中心的編輯器。

試試這個版本的查詢:

insert into my_contacts 
(last_name, 
first_name, 
email, 
gender, 
birthday, 
profession, 
location, 
status, 
interests, 
seeking) 
values 
('Anderson', 
'Jillian', 
'[email protected]', 
'f', 
'1980-09-05', 
'technical writer', 
'Palo Alto, CA', 
'Single', 
'Kayaking, Reptiles', 
'Relationship, Friends'); 
+0

我使用Mac上的Pages在輸入命令之前輸入命令。我很抱歉,但我無法直觀地看出我使用的單引號與您使用的單引號之間的區別。我只有一個單引號按鈕,我的鍵盤看起來像這樣「,並試圖創建一個捲曲引號只產生:æ。 – Anna

+0

您正在使用正確的按鈕。頁面會自動爲您轉換它們,這是您不想要的。以下是應該提供幫助的說明:http://www.iclarified.com/38772/how-to-disable-curly-quotes-in-mac-os-x-mavericks。如果這不起作用,請嘗試純文本編輯應用程序。 – systemjack

+0

實際上,對於Edit菜單下的Pages,選擇Substitutions並取消選中'Smart Quotes'項目。另外,如果您採用代碼樣本並增加一大堆字體大小,則應該能夠看到引號中的差異。 – systemjack

相關問題