【发布时间】:2013-11-26 02:12:15
【问题描述】:
我正在尝试使用 C# 和 MySql 来复制一个空表(实际上是重新创建架构)。结构如下:
> TableTemplate (schema)
+ Tables
> FirstTable (table)
> second table (table)
> ...
> SomeOtherTable
+ Tables
> ...
我想要将TableTemplate 复制到具有用户名的新架构中。
第一个被遗忘的明显途径是尝试CREATE TABLE @UserName LIKE TableTemplate,很快就知道 sql 参数应该用于值而不是表名(所有冰雹 jon skeet,再次:How to pass a table as parameter to MySqlCommand?)。
这样我们就可以手动验证用户名以构建表名 (robert's a prime example)。
接下来,似乎即使 CREATE TABLE UserID LIKE TableTemplate; 也不起作用(即使来自 MySQL Workbench),因为 TableTemplate 不是表。
因此,在创建UserID Schema 之后(在手动验证该字符串之后),或者尝试其他选项,例如转储数据库和创建一个新的,如这些问题所示:
但我宁愿避免在每次添加用户时运行进程、转储数据库并从那里创建它。
任何建议都将受到高度赞赏。
【问题讨论】:
标签: c# mysql database-schema