首页 > 解决方案 > MySQL命令中的参数未执行

问题描述

我正在尝试通过 C# 中的 MySQL 命令创建一个新表。问题是,即使没有参数,当我添加参数时,一切都可以正常工作(也就是具有固定名称),但它不会运行。错误: 'You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '@tableName ( studentid INT NOT' at line 1' 这是我的代码

            MySqlCommand create = new MySqlCommand(@"CREATE TABLE iadatabase.@tableName (
                                                studentid INT NOT NULL AUTO_INCREMENT,
                                                studentname varchar(30) NOT NULL,
                                                absenses INT NULL,
                                                CONSTRAINT table_pk PRIMARY KEY (studentid)
                                                )
                                                ENGINE=InnoDB
                                                DEFAULT CHARSET=utf8
                                                COLLATE=utf8_general_ci
                                                AUTO_INCREMENT=1;
                                                ;", connection);
        create.Parameters.AddWithValue("@tableName", tableName);
        create.ExecuteNonQuery();
        create.Parameters.Clear();

标签: c#mysql

解决方案


您从中选择的表的名称不能从参数生成。如果您需要这样做,您将需要对 SQL 本身进行字符串替换。


推荐阅读