我正在开发使用ms-access数据库的应用程序的新版本,因为它变得太慢了。
因此,我决定使用MySQL作为数据库。我对自己的选择感到满意。
问题是我有一个充斥着价格的庞大数据库。此价格在旧应用程序中正确显示,但在我的数据库中显示为:'26,.000000.00''71,9.00000.00''24,9.00000.00'
该字段是

'price' VARCHAR(255) NOT NULL DEFAULT '0',


我不知道该如何解决。是因为数据类型还是因为应用程序真的很糟糕?

最佳答案

我不知道该如何解决。是因为数据类型还是因为应用程序真的很糟糕?


问题应该是数据类型。此thread将帮助您选择一个。

另外,您可能希望将列转换为十进制(或其他数字)类型。
它像


添加所需的新列
类型,ALTER TABLE herpderp addnew_price Decimal (19,4)
从旧列填充它(您需要一个
方便的功能来转换您的
字符串到数字)update herpderpset new_price =handy_function(price)
删除旧列ALTER TABLE herpderp DROPCOLUMN price
重命名新列
改成旧名称ALTER TABLE herpderpCHANGE COLUMN new_price price

09-26 20:17