MySQL表添加双值

时间:2015-03-02 16:14:44

标签: mysql

我正在尝试在mySQL控制台上创建一个表。

CREATE TABLE TRY (Essn int(10), Pno int(2), Hours DOUBLE(40,0));

当我尝试向桌子添加内容时:

INSERT INTO TRY ('123456789','1','32,5');

我收到有关语法的错误。我无法找到问题所在。有人可以帮忙吗?

2 个答案:

答案 0 :(得分:4)

删除引用,将 32,5 替换为32.5,并添加VALUES关键字应该有效:

INSERT INTO TRY VALUES (123456789,1,32.5);

您可能还想更改双字段定义,以便在Hours字段中允许更多十进制数字:

CREATE TABLE TRY (Essn int(10), Pno int(2), Hours DOUBLE(40,2));

请参阅MySQL的approximate value部分了解更多详情

  

“(M,D)”表示可以存储的值最多为M位,   其中D位可以在小数点后面。例如,a   定义为FLOAT(7,4)的列在显示时将显示为-999.9999。   MySQL在存储值时执行舍入,因此如果插入则执行舍入   999.00009进入FLOAT(7,4)栏,大致结果为999.0001。

答案 1 :(得分:0)

在您的创作中,您定义了您不希望在小数点后保存任何数字。 DOUBLE(40,0)表示您有40位数字,小数点后面有0位数。

另请参阅https://dev.mysql.com/doc/refman/5.6/en/floating-point-types.html了解详情。