2016-04-18 20 views
0

我嘗試從文本類型字段刪除新線符號,聲明我用 - 下面,試過我發現這裏沒有運氣的所有語句:MySQL不能更換新行字符

UPDATE `ae1_jshopping_products` 
SET `short_description_lt-LT` = REPLACE(`short_description_lt-LT`, '\r\n', ' '); 

Print of it

我也打印錯誤信息。 enter image description here

在此先感謝!

+1

錯誤不在您發佈的聲明中。看來你試圖執行多個聲明並混合兩個(或更多)。 – fancyPants

+0

像fancyPants已經提到 - 你正在執行一個不同於你發佈的聲明。您已經可以在您發佈的屏幕截圖上看到聲明的一部分。請提供實際陳述 - 因爲您發佈的示例陳述沒有問題。 –

+0

我只是去phpMyAdmin,並嘗試運行這個聲明:更新'ae1_jshopping_products' SET'short_description_lt-LT' = REPLACE('short_description_lt-LT','\ r \ n','');並在打印屏幕時獲得錯誤+當我運行語句「#1064 - 您的SQL語法中有錯誤;請查看與您的MariaDB服務器版本相對應的手冊,以獲得在第1行」')附近使用的正確語法「 – NoOne

回答

0

把你的字段名short_description_lt-LT到反引號:

UPDATE `ae1_jshopping_products` 
SET `short_description_lt-LT` = REPLACE(`short_description_lt-LT`, '\r\n',' '); 

解釋:或 MySQL不能知道,如果你想減掉LT FROM short_description_lt如果-屬於你的字段名。

+0

但是看起來和你說的完全一樣,請檢查我的查詢的第一個打印屏幕,它使用反引號'short_description_lt-LT':SET'short_description_lt-LT' = REPLACE('short_description_lt-LT','\ r \ n',' 「);這裏是格式化的,但我使用'符號 – NoOne

+0

@NoOne是的,我知道 - 但你改變了你的問題的代碼幾次 - 所以這個答案是沒有反引號的版本';-)' –

0

我無法重現該問題。也許有一個隱藏的角色可能會導致問題。

Statement

Executed statement

使用:

  • MariaDB的:10.0.22
  • phpMyAdmin的:4.6.0
+0

它沒有任何意義: (從記事本中複製原樣...可能是phpMyAdmin的問題?因爲我使用最新版本的本地主機上的XAMPP:服務器版本:10.1.10-MariaDB和PHP版本:5.6.19 – NoOne

+0

phpMyAdmin是:4.5.1 – NoOne

0

你過時的phpMyAdmin的版本是由問題的影響與SQL解析庫一起它認爲你的陳述是不正確的。你應該可以通過升級到更新版本來解決它(4.6.1預計將在一週內發佈)。

+0

謝謝,我會檢查一下。 – NoOne