MS Access SQL,更改数据类型

Posted

技术标签:

【中文标题】MS Access SQL,更改数据类型【英文标题】:MS Access SQL, changing data type 【发布时间】:2012-05-13 01:36:54 【问题描述】:

在 Access 的设计模式中尝试将数据类型从文本更改为数字时,我不断收到“磁盘空间或内存不足”错误(使用接近 2 GB 的数据库),因此我找到了解决方法基本上是创建一个新列,将数据类型设置为 number ,复制旧的 coumns 内容,删除旧列并将新列重命名为旧列的名称。

我听说 ALTER TABLE 也可以用来改变数据类型。

谁能给我一个例子,说明如何使用 ALTER TABLE 将整列数据类型从文本更改为数字,

或者有没有人有更好的方法来改变数据类型?

【问题讨论】:

也许我不擅长谷歌搜索,但我看到了如何更改单个字段而不是列,我想知道是否有人知道比 ALTER TABLE 更好的方法来做到这一点。如果这是浪费问题,我深表歉意 【参考方案1】:

您可能想从 MSDN 阅读此内容:

http://msdn.microsoft.com/en-us/library/bb177883(v=office.12).aspx

ALTER TABLE yourTable ALTER COLUMN yourColumn TEXT(10) -- or whatever your new datatype is

这是文章中的一个示例函数:

Sub AlterTableX2()

    Dim dbs As Database

    ' Modify this line to include the path to Northwind
    ' on your computer.
    Set dbs = OpenDatabase("Northwind.mdb")

    ' Add the Salary field to the Employees table 
    ' and make it a Money data type.
    dbs.Execute "ALTER TABLE Employees " _
        & "ALTER COLUMN Salary CHAR(20);"

    dbs.Close

End Sub

【讨论】:

【参考方案2】:

本文可以帮助您使用 ALTER TABLE:http://msdn.microsoft.com/en-us/library/bb177883(v=office.12).aspx

因此,在您的情况下,声明将是:

ALTER TABLE TableName ALTER COLUMN ColumnName INTEGER

顺便说一句,列 == 字段(在 Access 中)。除非我错过了什么。

【讨论】:

以上是关于MS Access SQL,更改数据类型的主要内容,如果未能解决你的问题,请参考以下文章

如何在 ms access 中更改表字段的数据类型,而无需创建新表单来更新表?

SQL Server 数字数据类型在 MS Access 中变成 Short_Text

使用 ODBC 连接时如何在 MS Access 或 SQL Server 中使用日期数据类型

C# 和 MS Access 之间的数据类型不匹配?

Ms Access SQL 更新语句不起作用

3 表连接的 MS Access VB SQL 语法