搜索后,我发现很多超出范围的问题,人们不知道第一个数字m(十进制)(m,n)是总位数。但是,那不是我的问题。MySQL超出范围值的十进制列
对于有问题的专栏中,我有以下几点:
Field | Type | Null | Key | Default | Extra
preco | decimal(50,2) unsigned | NO | | 0.00 |
设置十进制(50,2)的方式比我真正想要或需要。我真的只需要10位数字。它是一个价格,所以超过一亿的可能是荒谬的,所以十进制(10,2)可能更合适。然而,MySQL是不接受以下查询:
INSERT INTO `produto` (`tipo_id`, `preco`, `qtd`, `opcao1`) VALUES (110, '77888555.43', '10', 'Azul')
我通过笨,phpMyAdmin的,直接在MySQL命令行客户端尝试查询。我也试了一下没有对十进制值的引号,但我总是得到同样的错误:
“出列‘PRECO’范围值在2行”
谢谢。它看起来像我的特定的MySQL应用程序有一些问题。正如我所说的,我直接在MyQSL命令行客户端中输入了查询,并在那里运行“describe produto”,并得到了所描述的确切结果。所以当你说“别的地方”时,除了MySQL本身,其他地方确实没有其他地方了。 –
其他奇怪的是,我可以删除查询'7888555.43'中的一个数字,并且MySQL接受它。 –
那你觉得呢?这是一个MySQL的错误? –