我正在尝试在mySQL控制台上创建一个表。
CREATE TABLE TRY (Essn int(10), Pno int(2), Hours DOUBLE(40,0));
当我尝试向桌子添加内容时:
INSERT INTO TRY ('123456789','1','32,5');
我收到有关语法的错误。我无法找到问题所在。有人可以帮忙吗?
答案 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了解详情。