2016-03-28 56 views
-2
CREATE TABLE my_table (
    Nr INT(10) UNSIGNED AUTO_INCREMENT PRIMARY KEY, 
    Datum TIMESTAMP, 
    Name VARCHAR(20), 
    Mymoney DOUBLE(20,10), 
    mypercentage DOUBLE(25,20), 
    Modifikation INT(10) UNSIGNED, 
) 

我得到的錯誤:創建表時出錯:您的SQL語法有錯誤;檢查與您的MySQL服務器版本相對應的手冊以便在第8行')'附近使用正確的語法?>SQL錯誤創建表。錯誤的語法?

另一個'SQL語句檢查'網站給我這個錯誤: 錯誤1:無法準備語句(1「UNSIGNED」附近:語法錯誤)

請大家幫忙!!!

+1

此錯誤是由一個尾隨逗號引起在最後宣佈之後。投票結束爲錯字。 – dasblinkenlight

回答

1

首先,刪除最後一列定義末尾的逗號。然後,如果你想指定的規模和精度,使用DECIMAL

CREATE TABLE my_table (
    Nr INT(10) UNSIGNED AUTO_INCREMENT PRIMARY KEY, 
    Datum TIMESTAMP, 
    Name VARCHAR(20), 
    Mymoney DECIMAL(20,10), 
    mypercentage DECIMAL(25,20), 
    Modifikation INT(10) UNSIGNED 
) 

您可以使用規模和精度DOUBLE PRECISION,但對貨幣值,你應該使用固定點表示。對於「百分比」,這不是那麼重要:

CREATE TABLE my_table (
    Nr INT(10) UNSIGNED AUTO_INCREMENT PRIMARY KEY, 
    Datum TIMESTAMP, 
    Name VARCHAR(20), 
    Mymoney DECIMAL(20,10), 
    mypercentage DOUBLE PRECISION, 
    Modifikation INT(10) UNSIGNED 
) 
+0

20,10?我做錯了工作。 – Strawberry

0

從最後一列刪除,以解決查詢錯誤。

這裏查詢

CREATE TABLE my_table (
    Nr INT(10) UNSIGNED AUTO_INCREMENT PRIMARY KEY, 
    Datum TIMESTAMP, 
    Name VARCHAR(20), 
    Mymoney DOUBLE(20,10), 
    mypercentage DOUBLE(25,20), 
    Modifikation INT(10) UNSIGNED 
) 
0

它的一切都是因爲之前的逗號「)」

0

這裏試試這個的正確語法:

CREATE TABLE my_table (
    Nr INT(10) UNSIGNED AUTO_INCREMENT PRIMARY KEY, 
    Datum TIMESTAMP, 
    Name VARCHAR(20), 
    Mymoney DOUBLE(20,10), 
    mypercentage DOUBLE(25,20), 
    Modifikation INT(10) UNSIGNED 
    );