Java 使用整数时出现mySQL语法错误
我正在尝试使用mySQL和Java创建一个表。我得到的是: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); 第二列的零命名是任意的,但我需要让列名为整数。 我得到的错误
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
对一列来说确实是个愚蠢的名字。