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语句检查'网站给了我这个错误: 错误1:无法准备语句(1接近" UNSIGNED":语法错误)
请帮助!!!
答案 0 :(得分: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
)
答案 1 :(得分: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
)
答案 2 :(得分:0)
这完全是因为')'
之前的逗号答案 3 :(得分: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
);