【发布时间】:2018-05-14 06:59:57
【问题描述】:
我正在尝试使用 C# 在 mySQL 中创建数据库和表。到目前为止,我可以通过 c# 在 mysql 中创建 Schema,但是在创建的模式中创建表时遇到了问题。
用户将输入要创建的模式的名称,然后输入将在之前输入的模式名称下创建的表名。架构名称和表名称采用文本框值。
我在表查询中遇到错误,该错误与语法有关。
myQuery1.AppendFormat("CREATE SCHEMA {0}", databasenametxt.Text);
myQuery2.AppendFormat("CREATE TABLE {0} (name VARCHAR(20)) WHERE
database={0}",tblenametxt.Text,databasenametxt.Text);
string s1 = myQuery1.ToString();
string s2 = myQuery2.ToString();
MySqlCommand cmd = new MySqlCommand(s1, coat);
MySqlCommand cmd1 = new MySqlCommand(s2, coat);
cmd.ExecuteNonQuery();
cmd1.ExecuteNonQuery();
myQuery1 已成功执行,并使用在 databasenametxt.Text 中输入的名称创建了架构,但在 myquery2 中出现错误。
【问题讨论】:
-
错误是什么?
-
您发送的值是什么 - 没有使用保留字?空格
-
btw mysql 文档不建议“where database = ..”是有效的语法。
-
错误是“您的 SQL 语法有错误;请查看与您的 MySQL 服务器版本相对应的手册,以了解在第 1 行的 'WHERE database=databasename' 附近使用的正确语法”跨度>
-
@BugFinder 我将表和模式名称发送到它应该创建表的位置。