Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/63.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
MySQL+;phpMyAdmin十进制每次默认为零_Mysql_Phpmyadmin_Decimal - Fatal编程技术网

MySQL+;phpMyAdmin十进制每次默认为零

MySQL+;phpMyAdmin十进制每次默认为零,mysql,phpmyadmin,decimal,Mysql,Phpmyadmin,Decimal,当我向表中添加新列并将数据类型设置为decimal,例如10.2,保存后将其转换为10.0 我该怎么做?是否有人可以提供SQL请求来创建具有十进制数据类型的表?我想运行它,看看它是否能像这样工作。检查您的表架构。对于十进制数据类型,十进制数(D)是必需的 DECIMAL(M,D)-一种未打包的浮点数,不能无符号。定义显示长度(M)和n小数位数(D)是必需的 示例模式 Create Table Stu( id int(11) NOT NULL auto_increment, field_na

当我向表中添加新列并将数据类型设置为
decimal
,例如
10.2
,保存后将其转换为
10.0


我该怎么做?是否有人可以提供SQL请求来创建具有十进制数据类型的表?我想运行它,看看它是否能像这样工作。

检查您的表架构。对于十进制数据类型,
十进制数(D)
是必需的

DECIMAL(M,D)
-一种未打包的浮点数,不能无符号。定义显示
长度(M)
和n
小数位数(D)
必需的

示例模式

 Create Table Stu(
 id int(11) NOT NULL auto_increment,
 field_name decimal(10,2) default NULL
);

在使用phpmyadmin界面编辑表时,我遇到了类似的问题。每次我尝试将字段decimal(6)更改为decimal(6,2);当我点击go时,每次都会返回十进制(6)。
如果所有其他操作都失败,请直接编辑它生成的代码。这对我很有用。

使用此查询更改小数点:

ALTER TABLE table_name CHANGE column_name column_name DECIMAL(10,2) UNSIGNED NOT NULL;

如果您使用MySQL Workbench而不是最简单的phpMyAdmin接口,您将得到您想要的

它是免费的,功能强大,你可以从

为什么不在保存到数据库之前将其设置为int并进行转换?或者将字段的小数点设置为0。这可能会起作用tabledreza的当前模式如何转换?换句话说,两位数之间需要逗号,而不是小数。您应该指定10,2而不是10.2——后者被解释为单个参数(转换为整数10),因此只定义左侧的位数。