C# 如何在mysql数据库中插入十进制?

C# 如何在mysql数据库中插入十进制?,c#,mysql,decimal,C#,Mysql,Decimal,我有一个奇怪的问题,将我的十进制值输入mysql数据库 我有一个表,表中的amount列标记为decimal 列声明如下所示: `amount` DECIMAL NOT NULL, 在我的代码中,我试图使用以下命令将一行插入该数据库 decimal amount=0.9902888269673553777395003M; command.CommandText="insert into `mytable` (..., `amount`, ....) values (....,@amount,

我有一个奇怪的问题,将我的十进制值输入mysql数据库

我有一个表,表中的
amount
列标记为
decimal

列声明如下所示:

`amount` DECIMAL NOT NULL,
在我的代码中,我试图使用以下命令将一行插入该数据库

decimal amount=0.9902888269673553777395003M;

command.CommandText="insert into `mytable` (..., `amount`, ....) values (....,@amount,...)";
command.Parameters.AddWithValue("@amount", amount);
执行该命令后,该行被插入数据库,但无论我做什么,该行的数量始终为0


我做错了什么?

嗯,您忘了以
十进制(M,D)
的形式定义十进制列的大小。所以您的列定义应该在下面,这意味着总共有30位数字,小数点后最多有15位

`amount` DECIMAL(30,15) NOT NULL,

嗯,您忘了以
十进制(M,D)
的形式定义十进制列的大小。所以您的列定义应该在下面,这意味着总共有30位数字,小数点后最多有15位

`amount` DECIMAL(30,15) NOT NULL,

不确定这是否是问题所在,但在某些情况下,检查是否存在问题,并且没有;无论如何,Rahul给出了正确的答案,我没有定义逗号后面要使用多少个小数,所以mysql默认值为0。您似乎没有遵循正确的十进制类型字段定义。不确定这是否是问题所在,但在某些情况下,检查是否存在问题,并且没有;无论如何,Rahul给出了正确的答案,我没有定义逗号后面要使用多少个小数,所以mysql默认值为0。您似乎没有遵循正确的十进制类型字段定义。