2014-09-22 50 views
0

當我執行查詢:錯誤地被插入值,以MySQL表

"insert into search_option(filename, file_path, keywords)" & _ 
"values('csharp_tutorial.pdf','d:\pdf_record\csharp_tutorial.pdf','C sharp Tutorial')" 

的值將插入到表中。但是,當我從表select

SELECT * FROM search_option s; 

會給結果作爲

filename    |  file_path     | keywords 
        |         | 
csharp_tutorial.pdf | d:pdf_recordcsharp_tutorial.pdf | C sharp Tutorial 

的問題是,d:\pdf_record\csharp_tutorial.pdf插入爲d:pdf_recordcsharp_tutorial.pdf爲什麼\消失...?

請建議我一些解決方案

回答

2

問題與\需要在代碼中加上\\同樣在雙引號的情況下,如果您要雙引號,則意味着您需要添加\",轉義序列的其他示例爲Available Here enter image description here

因此您的代碼將是:

"Insert into search_option(filename, file_path, keywords)" & _ 
"values('csharp_tutorial.pdf','d:\\pdf_record\\csharp_tutorial.pdf','C sharp Tutorial')" 

如果從vb.net執行此,您可以使用replace\\

FilePath.Replace("\", "\\") 
+1

缺少'i'在插入 – 2014-09-22 04:54:35

+0

更換\ @ Ganesh_Devlekar:感謝糾正,我糾正了這一點 – 2014-09-22 04:55:58

1

這是因爲\字符是在你的編程語言在字符串中使用轉義字符。

所以它與mysql無關,但與您的編程語言。因此,請查閱有關如何逃脫\的文檔。有機會的話,它的\\(斜線逃脫以下斜槓)

1

如果要插入\到數據庫中,你試試這個

"insert into search_option(filename, file_path, keywords)" & _ 
"values('csharp_tutorial.pdf','d:\\pdf_record\\csharp_tutorial.pdf','C sharp Tutorial')" 

逃避它