4

我想更改 SQL Server Compact Edition 数据库中表列的类型,但似乎该语句

ALTER TABLE [table name] modify [column name] [new type]

不工作(VS2010 给了我错误:“不支持 ALTER TABLE SQL 构造或语句。”)。

我的原始类型是 INT,我想将其更改为 BIGINT。

SQL Server CE 完全不支持它还是我必须执行另一种查询?

4

4 回答 4

6

您尚未说明“不起作用”的确切含义,但根据联机丛书,语法应该ALTER TABLE [table name] ALTER COLUMN [column name] [new type]与 SQL Server 的任何其他实例一样。

但是,如果新数据类型不支持列中的数据,则会遇到问题。

于 2013-01-25T16:16:54.367 回答
1

另一种方法是创建一个新表,然后将当前表的值插入新表,然后删除旧表。然后重命名新的。

于 2013-01-25T16:15:19.930 回答
1

不要忘记,如果其中的数据与新的 COLUMN 类型冲突,则不能 ALTER COLUMN。例如:COLUMN 类型是 VARCHAR2 并且有符号,你想 ALTER 到 NUMBER。或者数据类型是 VARCHAR2(20) 并且您想更改为 VARCHAR2(5) 并且字符串长度超过 5 个符号。

于 2013-01-25T16:28:14.547 回答
1

事实上,Visual Studio 似乎是我的问题的根源,通过使用CompactView程序,查询

ALTER TABLE [table name] ALTER COLUMN [column name] [new type]

工作并解决了我的问题。:) 非常感谢你的帮助 !

于 2013-01-25T17:03:20.763 回答