对于我的一个自定义模块,我有以下sql安装脚本
$installer = $this;
$installer->startSetup();
$installer->run("
CREATE TABLE {$this->getTable('wholesale')} (
`wholesale_id` int(11) unsigned NOT NULL auto_increment,
`title` varchar(255) NOT NULL default '',
`percentage` float(5,3) NOT NULL,
`status` smallint(6) NOT NULL default '0',
`created_time` datetime NULL,
`update_time` datetime NULL,
PRIMARY KEY (`wholesale_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
");
$installer->endSetup();
传递给此百分比浮点数(5,3)的值为NOT NULL,列以十进制保存,但总是以00为例。如果我保存值10.23,它将在数据库中保存为10.00。
请帮忙
答案 0 :(得分:5)
我遇到了同样的问题。使用“Flush Magento cache”清除缓存后,它开始正常保存。在我的情况下,我改变了列,它被缓存。
答案 1 :(得分:1)
我截断了表并手动插入了一条记录,它对我有用。 我不确定为什么会这样,但这对我有用。