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