1

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

ALTER TABLE Table1 
ALTER column myColumn INTEGER not null      

有没有办法将其改回以允许空值?我已经尝试过:

ALTER TABLE Table1 
ALTER column myColumn INTEGER null      

但没有...

4

3 回答 3

4

你不能指定nullALTER TABLE虽然not null是允许的)

请参阅以下文档以及有关此主题的讨论

句法

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 字段
  • 再次创建具有相同数据类型的删除列,而不使用 NOT NULL
  • 将现有字段更新为临时字段
  • 如果现有字段上有索引,请重新创建这些
  • 删除临时字段
于 2013-08-10T12:08:31.217 回答
0

尝试使用以下方法MODIFY:-

ALTER TABLE Table1 MODIFY myColumn INT NULL;
于 2013-08-10T12:04:12.797 回答
0

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

于 2017-09-05T18:24:52.543 回答