c#如何通过编程指定列作为主索引
我正在使用c#中的以下代码在sql中创建表(TestTable),现在我正在尝试在col2上为该表指定一个主索引,有人能建议我如何通过代码实现这一点吗c#如何通过编程指定列作为主索引,c#,mysql,sql,sql-server,C#,Mysql,Sql,Sql Server,我正在使用c#中的以下代码在sql中创建表(TestTable),现在我正在尝试在col2上为该表指定一个主索引,有人能建议我如何通过代码实现这一点吗 Server srv = new Server("(local)"); Database db = srv.Databases["AdventureWorks2012"]; Table tb = new Table(db, "TestTable"); Column col1 = new Column(tb, "Name", DataType.N
Server srv = new Server("(local)");
Database db = srv.Databases["AdventureWorks2012"];
Table tb = new Table(db, "TestTable");
Column col1 = new Column(tb, "Name", DataType.NChar(50));
Column col2 = new Column(tb, "ID", DataType.Int);
tb.Columns.Add(col1);
tb.Columns.Add(col2);
tb.Create();
创造这样的东西
CREATE TABLE table_name
(
column_name1 data_type(size) constraint_name,
column_name2 data_type(size) constraint_name,
column_name3 data_type(size) constraint_name,
....
);
我们使用字符串生成器连接查询,然后执行查询
StringBuilder query = new StringBuilder();
query.Append("CREATE TABLE ");
query.Append(tableName);
query.Append(" ( ");
for (int i = 0; i < columnNames.Length; i++)
{
query.Append(columnNames[i]);
query.Append(" ");
query.Append(columnTypes[i]);
if (i=0)
query.Append(" PRIMARY KEY , ");
else
query.Append(" , ");
}
if (columnNames.Length > 1) { query.Length -= 2; } //Remove trailing ", "
query.Append(")");
SqlCommand sqlQuery = new SqlCommand(query.ToString(), sqlConn);
SqlDataReader reader = sqlQuery.ExecuteReader();
StringBuilder查询=新建StringBuilder();
query.Append(“创建表”);
query.Append(tableName);
查询。追加(“”);
for(int i=0;i1){query.Length-=2;}//删除尾部“,”
查询。追加(“)”;
SqlCommand sqlQuery=新的SqlCommand(query.ToString(),sqlConn);
SqlDataReader=sqlQuery.ExecuteReader();
可能重复不,这里他想通过编程在数据库中创建一个表。如果你看了这篇文章,你可以将数据表转换为数据库中的选项卡。此解决方案是通用的,应该适用于您想要转换的任何数据表。但是我不知道你为什么用这种方式创建表格,因为这不是常用的方法。该职位: