MySQL Workbench超出小数号的范围值



我想创建一个表

create table Oceny_projekty
(
   OProj_Id             int not null  comment '',
   ID_Projektu          int  comment '',
   ID_Studenta          int  comment '',
   OProj_Ocena          decimal(1,1)  comment '',
   OProj_Data           date  comment '',
   primary key (OProj_Id)
);

并用PowerDesigner生成的示例数据

insert into Oceny_projekty (OProj_Id, ID_Projektu, ID_Studenta, OProj_Ocena, OProj_Data)
    values (2, 18, 10, '2.5', '1857-12-25');

我已经知道了:

插入oceny_projekty(oproj_id,id_projektu,id_studenta, oproj_ocena,oproj_data)值(2、18、10,'2.5','1857-12-25')错误 代码:1264。在第1行'oproj_ocena'列的范围值

如何修改可以接受十进制数字的命令?(对于整数数字,没有问题)使用MySQL WorkBench 6.3,PowerDesigner 16.6

预先感谢!

OProj_Ocena声明为decimal(1,1)表示它具有0个整数数字(precision - scale = 1 - 1 = 0)和1个分数数字。它只能存储值0, 0.1, 0.2 ... 0.9

您需要的数据类型可能是decimal(2,1)

以另一种方式将Marek Grzenkowicz的答案放在十进制(m,d):

m = d (整数数字的数量)。请参阅12.25.2小数数据类型特征

因此,确定所需的整数数字的数量,小数点左侧的数字以及所需的十进制位置(D)的数量,并添加它们以获取M. Imo,他们应该使用短语"整数数字"或"整数数字"即使他们所说的意思是M所对所有数字,即使他们所说的含义更为明显。我刚开始误解了这一点,直到我重新阅读他们的描述几次。

相关内容

  • 没有找到相关文章

最新更新