Mysql JDBC错误消息(SQL语法中的错误;请检查手册…)

Mysql JDBC错误消息(SQL语法中的错误;请检查手册…),mysql,jdbc,Mysql,Jdbc,我正在用Java玩JDBC驱动程序,收到以下错误消息: 您的SQL语法有错误;检查与MySQL服务器版本对应的手册,以了解第1行“NUMBER(5)NOT NULL)”附近使用的正确语法 我的SQL语法如下所示: String createTableSQL = "CREATE TABLE dbuser1("+"USER_ID NUMBER(5) NOT NULL"+");"; 在我看来,我的sql语句没有问题。怎么了?MySQL中没有数字(5)数据类型,它应该是整数(5)。有关MySQL所有数

我正在用Java玩JDBC驱动程序,收到以下错误消息:

您的SQL语法有错误;检查与MySQL服务器版本对应的手册,以了解第1行“NUMBER(5)NOT NULL)”附近使用的正确语法

我的SQL语法如下所示:

String createTableSQL = "CREATE TABLE dbuser1("+"USER_ID NUMBER(5) NOT NULL"+");";
在我看来,我的sql语句没有问题。怎么了?

MySQL中没有
数字(5)
数据类型,它应该是
整数(5)
。有关MySQL所有数据类型的文档,请参阅

NUMBER(5)


因为MySQL没有
NUMBER
数据类型,所以MySQL支持所有标准的SQL数字数据类型。这些类型包括精确数字数据类型(
INTEGER、SMALLINT、DECIMAL和numeric
),以及近似数字数据类型(
FLOAT、REAL和DOUBLE-PRECISION
)。关键字
INT
整数的同义词

NUMBER不是数据类型,这就是为什么会出现语法错误,所以

而不是

String createTableSQL = "CREATE TABLE dbuser1("+"USER_ID NUMBER(5) NOT NULL"+");";
如果表中只需要整数值,请使用

String createTableSQL = "CREATE TABLE dbuser1("+"USER_ID INTEGER(5) NOT NULL"+");";
 String createTableSQL = "CREATE TABLE dbuser1("+"USER_ID Decimal(5) NOT NULL"+");";
或者如果要在表中使用十进制值

String createTableSQL = "CREATE TABLE dbuser1("+"USER_ID INTEGER(5) NOT NULL"+");";
 String createTableSQL = "CREATE TABLE dbuser1("+"USER_ID Decimal(5) NOT NULL"+");";
有关数据类型的完整列表,请参阅以下链接


非常感谢您,先生:)