【发布时间】:2021-10-30 22:13:18
【问题描述】:
我的问题是如何使用用户输入的表名创建表?所以我已经知道了:
string createtable = "CREATE TABLE '" + email.Text + "' (benutzung VARCHAR (20), passwort VARCHAR (30), id INTEGER);"; 但每次我启动程序并再次尝试时都会弹出此错误:
MySql.Data.MySqlClient.MySqlException:“您的 SQL 语法有错误;请查看与您的 MySQL 服务器版本相对应的手册,了解在 ''test' 附近使用的正确语法(benutzung VARCHAR (20), passwort VARCHAR (30), id INTEGER)' 在第 1 行"
【问题讨论】:
-
表名不能用单引号。
-
create a table with a table name what the user typed in?- 你确定这不是一个糟糕的主意,尤其是在安全方面? 为什么你想要这个,你想要达到什么目的?另外:您正在使用the wrong quotes -
@AmitVerma 你能写出我该怎么做吗?
-
动态创建表格,更糟糕的是,用户输入是一个糟糕的设计选择。无论您如何做,安全性和可扩展性问题都会浮现在脑海中。为什么需要专门这样做?通常我希望架构是固定的,用户操作只修改数据库上的数据。
标签: c# mysql visual-studio