2013-08-04 35 views
1

我有我的表這個查詢運行:如何從所有數據庫數據輸入中刪除下劃線?

CREATE TABLE IF NOT EXISTS `checkout` (
    `customer` varchar(32) NOT NULL, 
    `time` varchar(100) NOT NULL, 
    `productid` varchar(100) NOT NULL, 
    `price` decimal(10,0) NOT NULL, 
    `tickets` int(11) NOT NULL, 
    `index` int(11) NOT NULL AUTO_INCREMENT, 
    PRIMARY KEY (`index`) 
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=2 ; 

如果,例如,客戶的名稱是「約翰善意」,在MySQL他的名字將自動轉換爲「John_Goodwill」。我用下面的代碼來恢復:

update checkout set customer = replace(customer, '_', ' '); 

這適用於數據庫中的我現在的客戶的意見,但如果添加任何新的輸入它可以追溯到強調。

我可以運行什麼查詢來爲每個輸入設置這個查詢?

+2

MySQL將_not_轉換空格在字符串/ varchars下劃線。空格(ASCII 0x20)是與其他可打印字符類似的字符。你必須在某處進行轉換。 – knittl

回答

1

通過添加以下PHP解決:

$顧客= str_replace函數( 「 - 」, 「」,$顧客); $ customer = str_replace(「_」,「」,$ customer);

4

在數據達到數據庫需要處理的級別之前清理數據。