删除数据表中的主键
本文关键字:数据表 删除 | 更新日期: 2023-09-27 18:04:48
是否有办法从数据表中删除主键,或者是否有办法先删除"PK"的约束,然后删除列本身?
谢谢!
更新:
dtTable.Columns.Add(new System.Data.DataColumn("PRIMARY_KEY", typeof(System.Int32)));
dtTable.PrimaryKey = new DataColumn[1] { dtTable.Columns["PRIMARY_KEY"] }; // throws an error
dtTable.Columns["PRIMARY_KEY"].AutoIncrement = true;
可以使用
删除primay keyDataTable.PrimaryKey = null;
可以使用
删除数据表列DataTable.Columns.Remove("column name here");
我发现有时从数据表中删除PrimaryKey后:
MyDataTable.PrimaryKey = null;
Unique设置在已删除的PrimaryKey的成员列上保持为真。
我的解决方案:
public static void KillPrimaryKey(DataTable LocDataTable)
{
int LocPriKeyCount = LocDataTable.PrimaryKey.Length;
string[] PrevPriColumns = new string[LocPriKeyCount];
// 1. Store ColumnNames in a string Array
for (int ii = 0; ii < LocPriKeyCount; ii++) PrevPriColumns[ii] = LocDataTable.PrimaryKey[ii].ColumnName;
// 2. Clear PrimaryKey
LocDataTable.PrimaryKey = null;
// 3. Clear Unique settings
for (int ii = 0; ii < LocPriKeyCount; ii++) LocDataTable.Columns[PrevPriColumns[ii]].Unique = false;
}