Closed. This question is off-topic。它当前不接受答案。
                            
                        
                    
                
                            
                                
                
                        
                            
                        
                    
                        
                            想改善这个问题吗? Update the question,所以它是on-topic,用于堆栈溢出。
                        
                        5年前关闭。
                                                                                            
                
        
我想创建表,但是我的代码不正确。请告诉我-我在哪里弄错了。
谢谢!

MySqlCommand Create_table= new MySqlCommand("CREATE TABLE 123 (id INT NOT NULL AUTO_INCREMENT,action VARCHAR(15) NOT NULL, PRIMARY KEY (id)) COLLATE='utf8_general_ci' ENGINE=InnoDB;",con);
Create_table.ExecuteNonQuery();

最佳答案

问题是表123的名称。
它仅包含数字,且来自MySql documentation


  标识符可以以数字开头,但除非引用不包括在内
  仅数字。


您需要将表名括在反引号内,或将名称以字母开头

MySqlCommand Create_table= new MySqlCommand(@"
        CREATE TABLE `123`
        (id INT NOT NULL AUTO_INCREMENT,
        action VARCHAR(15) NOT NULL,
        PRIMARY KEY (id)) COLLATE='utf8_general_ci' ENGINE=InnoDB;", conn);
Create_table.ExecuteNonQuery();


我建议更改名称以避免将来出现同类问题

关于c# - 从C#在mysql中创建表,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/22993857/

10-10 03:11