c# - 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();
解决方案
您从中选择的表的名称不能从参数生成。如果您需要这样做,您将需要对 SQL 本身进行字符串替换。
推荐阅读
- python - 我可以使用 POST 方法在 python 中对请求 URL 使用 Web 抓取请求吗
- django - Django:管理更改表单中的自定义按钮返回自定义视图功能的错误网址
- material-ui - 如何在故事书中显示 material-ui 主题对象
- r - 使用 cairo 在轴标题中保存带有表达式和 unicode 的 ggplot
- spring-cloud-stream - Spring Cloud kafka Stream Binder transactionIdPrefix 向出站主题发送2条消息
- python - 如何将递归 VIF 消除合并到 scikit-learn 的管道中?
- reactjs - 如何获取可选行数?
- python - 如何使字典中除第一个键之外的所有键都小写
- macos - 在运行 python 应用程序时获取 OSError
- css - 如何使对话框中的最后一个元素在屏幕上可见?