2016-08-13 54 views
0

我得到了错误"you have an error in your SQL systax..",我不知道错误在哪里。任何人?C#中的MySQL systax错误#

static void Main(string[] args) 
{    
    string sql = "CREATE TABLE DiceRolls IF NOT EXISTS (session INTEGER, dice1 INTEGER, dice2 INTEGER);"; 
    string connString = "Server=localhost"+";database=3ddatabase" 
     + ";port=3306" + ";User Id=root" + ";password="; 
    // string connStr = "server=localhost;user=root;port=3306;password=;"; 
    MySqlConnection con = new MySqlConnection(connString); 
    con.Open(); 
    MySqlCommand cmd = new MySqlCommand(sql, con); 
    cmd.ExecuteNonQuery(); 
    con.Close(); 
} 
+0

这可能是在声明的末尾分号。另外'session'是一个关键字(所以它对于一个列名是一个不好的选择),但它可能不应该导致语法问题。 –

+0

@VănHọc请参考这个链接它可能会帮助你 http://stackoverflow.com/questions/33154674/create-table-dynamically-with-mysql-command-in-c-sharp –

回答

1

你的语法错误是在你的mysql命令中。

你有

CREATE TABLE DiceRolls IF NOT EXISTS (session INTEGER, dice1 INTEGER, dice2 INTEGER); 

当它应该是IF NOT EXISTS然后表名:

CREATE TABLE IF NOT EXISTS DiceRolls (session INTEGER, dice1 INTEGER, dice2 INTEGER);