访问MySQL价格字段
我正在开发一个使用ms access数据库的应用程序的新版本,因为它变得太慢了。 所以我决定使用MySQL作为数据库。我对自己的选择很满意。 问题是我有一个巨大的数据库,里面装满了价格。此价格在旧应用程序中显示正确,但在我的数据库中显示如下:访问MySQL价格字段,mysql,database,ms-access,types,sqldatatypes,Mysql,Database,Ms Access,Types,Sqldatatypes,我正在开发一个使用ms access数据库的应用程序的新版本,因为它变得太慢了。 所以我决定使用MySQL作为数据库。我对自己的选择很满意。 问题是我有一个巨大的数据库,里面装满了价格。此价格在旧应用程序中显示正确,但在我的数据库中显示如下:'26.000000.00','71,9.00000.00','24,9.00000.00'。 场地是 'price' VARCHAR(255) NOT NULL DEFAULT '0', 我不知道如何解决这个问题。这是因为数据类型还是因为应用程序真的很
'26.000000.00'
,'71,9.00000.00'
,'24,9.00000.00'
。
场地是
'price' VARCHAR(255) NOT NULL DEFAULT '0',
我不知道如何解决这个问题。这是因为数据类型还是因为应用程序真的很糟糕?我认为您应该使用正确的数据类型来存储这些值,如果您试图存储价格(货币),那么您应该使用十进制数据类型 这就是文件中所说的: 定点(精确值)类型 十进制和数字类型存储精确的数字数据值。当需要保持精确精度时(例如对于货币数据),可以使用这些类型。在MySQL中,NUMERIC实现为DECIMAL,因此以下关于DECIMAL的注释同样适用于NUMERIC
您可以在此处了解更多信息:我认为您应该使用正确的数据类型来存储这些值,如果您试图存储价格(货币),那么您应该使用十进制数据类型 这就是文件中所说的: 定点(精确值)类型 十进制和数字类型存储精确的数字数据值。当需要保持精确精度时(例如对于货币数据),可以使用这些类型。在MySQL中,NUMERIC实现为DECIMAL,因此以下关于DECIMAL的注释同样适用于NUMERIC 您可以在此处阅读更多关于此的信息: 我不知道如何解决这个问题。这是因为数据类型还是因为应用程序真的很糟糕 问题应该是数据类型。这将帮助您选择一个 此外,您可能希望将列转换为十进制(或其他数字)类型。 就像
- 添加所需字段的新列
键入,
ALTER TABLE herpderp add 新的价格小数(19,4)
- 从旧列中填充它(您需要
方便的功能,转换您的
字符串到数字)
更新herpderp 设定新的价格= 便捷功能(价格)
- 删除旧列
ALTER TABLE herpderp drop 列价格
- 重命名新列
到旧名称
更改表herpderp 更改列新价格价格
- 添加所需字段的新列
键入,
ALTER TABLE herpderp add 新的价格小数(19,4)
- 从旧列中填充它(您需要
方便的功能,转换您的
字符串到数字)
更新herpderp 设定新的价格= 便捷功能(价格)
- 删除旧列
ALTER TABLE herpderp drop 列价格
- 重命名新列
到旧名称
更改表herpderp 更改列新价格价格