我想要做以下…
这可能使用MSSQL? 如果是这样,怎么样?
从命令提示符下:
bcp DBName.dbo.TableName OUT c:\TableName.bcp -N -T -Smydbserver\instance
然后,删除并重新创build您的表(我不认为有这样做的任何简单的方法)。
为了恢复您的数据,
bcp DBName.dbo.TableName IN c:\TableName.bcp -N -T -Smydbserver\instance
您需要为每个表格重复此操作。 它会给你一个数据的二进制副本,然后重新插入。 只要每个字段的长度与旧字段的长度相同,就不会有任何麻烦将数据重新插入不同的模式。
您可能会发现,您不必删除并重新创build您的表以获取可为空的列。 如果列名是相同的,只需使用ALTER TABLE:
ALTER TABLE Table1 ALTER COLUMN MyCol1 nvarchar(50)null
这将更改列types以允许之前为相同的列名和数据types但“不为空”的空值。 有关更多ALTER TABLE语法,请参见http://msdn.microsoft.com/en-us/library/ms190273.aspx 。