MS Access - 允许null的sql表达式?

时间:2013-08-10 11:54:47

标签: sql database ms-access alter-table alter-column

我使用MS Access(2003)数据库。创建列后,我使用sql语句设置NOT NULL:

ALTER TABLE Table1 
ALTER column myColumn INTEGER not null      

有没有办法将其更改为允许空值?我已经尝试过了:

ALTER TABLE Table1 
ALTER column myColumn INTEGER null      

但没有...

3 个答案:

答案 0 :(得分:4)

您无法在null中指定ALTER TABLE(尽管允许not null

请参阅下面的documentation以及此discussion on this toppic

<强>语法

ALTER TABLE table {ADD {COLUMN field type[(size)] [NOT NULL]     [CONSTRAINT index] |     ALTER COLUMN field type[(size)] |     CONSTRAINT multifieldindex} |     DROP {COLUMN field I CONSTRAINT indexname} }


旧学校解决方案: -

  • 使用相同的数据类型
  • 创建一个新的临时数据字段为null
  • 将新的临时字段更新为现有的NOT NULL字段
  • 删除旧的NOT NULL字段
  • 再次创建具有相同数据类型的droped列,而不使用NOT NULL
  • 将现有字段更新为临时字段
  • 如果现有字段上有索引,请重新创建
  • 删除临时字段

答案 1 :(得分:0)

使用MODIFY尝试这样的事情: -

ALTER TABLE Table1 MODIFY myColumn INT NULL;

答案 2 :(得分:0)

我发现的唯一方法是直接在桌面上使用DAO。 设置db.TableDefs(strTable1).Fields(strFieldName).Required = false