服务器教程

数据库更改字段类型

数据库 2008-02-06 15:12:16 浏览:1039 分享
还可以输入1000字

全部回答(1)

最佳回答

⓵修改Access数据库表的数据类型使用ALTER语句
首先使用ALTER创建另一个字段,是内存类型,然后将数据复到这个字段中,然后先删除原来的字段并复数据。 进入后,删除原来的字段,创建一个与原来字段同名的字段,然后再次复数据。
也许并不复杂,可以看看ALTER的使用,看看是否可以你可以直接更改它。 字段名,我们之前使用VF的时候也遇到过这种问题。
ALTER语法如下所示:
ALTERABLE语句
修改表使用CreateTable语句创建。
注意MicrosoftJet数据库引擎不支使用ALTERTABLE语句,也不支非MicrosoftJet数据库的定义语言(DDL)语句。 您可以改用DAOCreate方法。
语法
ALTERTABLE{ADD{COLUMNfieldtype[(size)][NOTNULL][CONSTRAINTindex]|
ALTERCOLUMNfieldtype[(size)]|
CONSTRAINTmultifieldindex}|
DROP{COLUMNfieldICONSTRAINTindexname}}
ALTERTABLE语句包含以下部分:
部分说明
要更改的表的名称。
field要从表中添加或删除的字段的名称。 或者更改表中字段的名称。
类型字段数据类型。 字段的大小是字符的大小(仅限文本和二进字段)。
索引字段的索引。
Multifieldindex定义了访问表的多字段索引。
indexname需要删除的多个索引字段的名称。
说明
可以通过可更改语句以多种方式修改现有表。 您可以:
使用ADDCOLUMN向表添加新字段。 您可以定义名称、数据类型和可选大小(对于文本和二进字段)。 例如,以下语句向Employees表添加一个大小为25Notes的字符文本字段:
ALTERTABLEEmployeesADDCOLUMNNotesTEXT(25)
您还可以在此字段中定义索引。
如果将字段定义为NOTNULL,则新记录中的字段必须具有有效数据。
使用ALTERCOLUMN更改现有字段的数据类型。 您可以指定文本和二进字段的字段名称、新数据类型以及可选大小。 例如,此语句将Employees表中名为ZipCode的字段(首先定义为整数)的数据类型更改为大小为10个字符的文本字段:
ALTERTABLEEmployeesALTERCOLUMNZipCodeTEXT(10)
使用ADDCONSTRAINT添加多字段索引。
使用DROPCOLUMN删除字段。 只需指定字段的名称即可。
使用DROPCONSTRAINT删除多字段列表。 只需指定缩小保留字范围后的名词列表即可。
注释
不能一次添加或删除多个字段或列表。
您可以使用CREATEINDEX语句向表添加单字段或多字段索引,并且可以使用ALTERTABLE或DROP语句删除使用ALTERTABLE或CREATEINDEX创建的索引。
您可以在应用于单个字段的名为CONTAINER的子句中或应用于名为CONTAINER的多个字段中对单个字段使用NotNULL。 但是,NOTNULL限一次只能应用于一个字段。 尝试将此阈值应用于多个字段将立即产生运行错误。

⓶SQL如何用语句更改字段的数据类型?

如何使用SQL语句更改字段可以使用以下语句来实现:

更改表名更改列字段名更改字段类型。

注意:

但是如果是有主键的键字段,且字段类型是有默认值的用户自定义类型,则使用上面的语句时。

例如:

假设表为TABLE1,键字段为FIELD1,主键为PK_FIELD1,键字段的数据类型是用户定义的数据。 cha_field1类型实际上是CHAR(10),默认值是dbo。 D_field1现在需要将字段类型更改为varchar(20)。 删除默认值的错误消息如下:

服务器:消息5074,级别16,状态1,第1行

对象“D_field1”依赖于列“field1”。

服务器:消息5074,级别16,状态1,第1行

对象“PK_field1”取决于列“field1”。

服务器:消息4922,级别16,状态1,第1行

ALTERTABLEALTERCOLUMNfield1失败,因为一个或多个对象访问了此列。

2