0
我有一個非常大的MySQL表,其中有大量的數據,其中一個字段是發票號,並且是一個以1000.001(這是一個字符串)開始的數字。我從離開公司的人那裏得到了這個信息,他們通過excel導入了數據,其中一些數字是1000.01而不是1000.010。使用通配符更新和替換
當我運行這個查詢在PHP我的管理員,它顯示有超過11k行,所以我可以看到他們確定。
SELECT `AnalysisID` , `InvoiceNo`
FROM `STStbl000010`
WHERE `InvoiceNo` LIKE '%.__'
ORDER BY `STStbl000010`.`AnalysisID` ASC
所以簡單地說,我需要在這些條目的末尾添加一個0(零)。
我試過以下,但是,它只是返回0行受到影響。
我可以像這樣使用通配符嗎?更新和替換語句?
UPDATE `STStbl000010AT`
SET `InvoiceNo` = replace(`InvoiceNo`, '%.__', '%.__0')
WHERE `InvoiceNo` LIKE '%.__'
感謝
才知道,使用替代,不會使用索引。如果它確實是一個大型的數據庫,它可能會非常非常慢:) –
它可能更好地使用concat而不是替換 – exussum