Mysql JDBC错误消息(SQL语法中的错误;请检查手册…)
我正在用Java玩JDBC驱动程序,收到以下错误消息: 您的SQL语法有错误;检查与MySQL服务器版本对应的手册,以了解第1行“NUMBER(5)NOT NULL)”附近使用的正确语法 我的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所有数
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"+");";
有关数据类型的完整列表,请参阅以下链接
非常感谢您,先生:)