Java 使用整数时出现mySQL语法错误

Java 使用整数时出现mySQL语法错误,java,mysql,Java,Mysql,我正在尝试使用mySQL和Java创建一个表。我得到的是: String sql = "CREATE TABLE IF NOT EXISTS " + Userinput.getTableName2() + " (participant INT(255), " + " 0 INT(255),"+ " name INT(3), " + " occurances INT(255))"; stmt.executeUpdate(sql); 第二列的零命名是任意的,但我需要让列名为整数。 我得到的错误

我正在尝试使用mySQL和Java创建一个表。我得到的是:

String sql = "CREATE TABLE IF NOT EXISTS " + Userinput.getTableName2() +
" (participant INT(255), " +
" 0 INT(255),"+ 
" name INT(3), " + 
" occurances INT(255))";
stmt.executeUpdate(sql);
第二列的零命名是任意的,但我需要让列名为整数。 我得到的错误是:

您的SQL语法有错误;检查手册 对应于您的MySQL服务器版本,以便使用正确的语法 在第1行的“0 INT(255)、name INT(3)、ocurrances INT(255))”附近

我将感谢任何和所有的帮助!谢谢

根据这个

标识符可以以数字开头,但除非引用,否则可能不包括 完全由数字组成

因此,您必须引用
0

String sql = "CREATE TABLE IF NOT EXISTS " + Userinput.getTableName2() +
" (participant INT(255), " +
" `0` INT(255),"+                     // using backticks
" name INT(3), " + 
" occurances INT(255))";
stmt.executeUpdate(sql);
尽管如此,它似乎是一个愚蠢的列名称。

根据这一点

标识符可以以数字开头,但除非引用,否则可能不包括 完全由数字组成

因此,您必须引用
0

String sql = "CREATE TABLE IF NOT EXISTS " + Userinput.getTableName2() +
" (participant INT(255), " +
" `0` INT(255),"+                     // using backticks
" name INT(3), " + 
" occurances INT(255))";
stmt.executeUpdate(sql);

尽管如此,它似乎是一个愚蠢的列名称。

请阅读mysql文档:

标识符可以以数字开头,但除非引用,否则可能不包括 完全由数字组成


请阅读mysql文档:

标识符可以以数字开头,但除非引用,否则可能不包括 完全由数字组成


引用标识符的更好方法是使用反勾号。引用文档:“标识符引号字符是反勾号(“`”)()。您好,我以前曾根据文档尝试添加单引号,但在这样做时收到一个非常类似的错误。在第1行“@GordonLinoff使用backsticks似乎修复了我的错误!”处使用接近“0”INT(255)、name INT(3)、ocurrances INT(255))的正确语法的MySQL服务器版本!谢谢谢谢你的建议+1表示正确,但主要是因为
0
确实看起来像是列的哑名称。引用标识符的更好方法是使用反勾号。引用文档:“标识符引号字符是反勾号(“`”)()。您好,我以前曾根据文档尝试添加单引号,但在这样做时收到一个非常类似的错误。在第1行“@GordonLinoff使用backsticks似乎修复了我的错误!”处使用接近“0”INT(255)、name INT(3)、ocurrances INT(255))的正确语法的MySQL服务器版本!谢谢谢谢你的建议+1表示正确,但主要是因为
0
对一列来说确实是个愚蠢的名字。