2011-11-23 77 views
-1

好吧,我被困住了。當我試圖在mysql終端(使用linux btw)中插入一個Insert時,我被@(at)表達式所捕獲,它不能被插入,這是關於常規表達式的東西還是它爲此使用了自定義輸入字符?如何從Linux終端在MYSQL中插入一個郵件

感謝

+2

你能告訴您運行的命令和收到的錯誤? – grossvogel

回答

2

@在一個字符串意味着什麼到SQL服務器,但裸@將被看作是一個變量引用,所以最有可能您的查詢字符串語法不正確:

good: INSERT INTO yourtable (email) VALUES ('[email protected]'); 
bad: INSERT INTO yourtable (email) VALUES ([email protected]); 
+0

好的,謝謝我正如你所說的那樣正確地製作了插頁。任何其他類似的條件tu使用簡單的引號(')? – ttyinf0

+0

如果您要插入的文本包含''',那麼您必須將它們轉義:insert ... VALUES('O \'Brien')'。既然你是通過mysql監視器來做這件事,那麼沒有任何事情會自動爲你做。你必須自己逃避。 –

+0

哦,好吧,它適用於任何文本字符串,不管它是否包含正則表達式,對吧?但是數字又如何呢,因爲它可以和沒有簡單引號的數字一起工作 – ttyinf0