使用整数时mySQL语法错误

时间:2014-02-26 01:02:58

标签: 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);

Zero命名第二列是任意的,但我需要将列名称设为整数。 我得到的错误是:

  

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

我将不胜感激任何帮助!谢谢!

2 个答案:

答案 0 :(得分:4)

根据此http://dev.mysql.com/doc/refman/5.0/en/identifiers.html

  

标识符可以以数字开头,但除非引用可能不包含   只是数字。

所以你必须引用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);

虽然,对于一个专栏来说,这似乎是一个愚蠢的名字。

答案 1 :(得分:0)

请阅读mysql文档:

http://dev.mysql.com/doc/refman/5.1/en/identifiers.html

  

标识符可以以数字开头,但除非引用可能不包含   只是数字。