我想在mySQL控制檯上創建一個表。MySQL表添加雙值
CREATE TABLE TRY (Essn int(10), Pno int(2), Hours DOUBLE(40,0));
當我嘗試添加一些表:
INSERT INTO TRY ('123456789','1','32,5');
我得到的語法錯誤。我找不到問題。誰能幫忙?
我想在mySQL控制檯上創建一個表。MySQL表添加雙值
CREATE TABLE TRY (Essn int(10), Pno int(2), Hours DOUBLE(40,0));
當我嘗試添加一些表:
INSERT INTO TRY ('123456789','1','32,5');
我得到的語法錯誤。我找不到問題。誰能幫忙?
擺脫報價,以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位可能在小數點後面。例如,定義爲FLOAT(7,4)的 列在顯示時看起來像-999.9999。 MySQL在存儲值時執行四捨五入,所以如果將 999.00009插入到FLOAT(7,4)列中,則近似結果爲999.0001。
在您的創作中,您定義了您不希望在小數點後保存任何數字。 DOUBLE(40,0)表示您有40位數字,小數點後面有0位數字。
另請參閱https://dev.mysql.com/doc/refman/5.6/en/floating-point-types.html瞭解更多信息。
它應該沒問題,當插入一個值時,mysql會舍入小數點後0,例如,40.85自動變爲41 – 2015-03-02 16:27:09
@ElMatze如果我使用DOUBLE(40,1),我會得到結果爲32.5? – berkc 2015-03-02 16:28:31
更改'32,5'到'32.5' – 2015-03-02 16:16:16
@AhhikChakraborty我也試過了,我得到了同樣的錯誤。 – berkc 2015-03-02 16:17:12
您缺少'VALUES'關鍵字。 – eggyal 2015-03-02 16:20:18