【问题标题】:Database Access Mdb how to set a default value to existing column via SQL数据库访问 Mdb 如何通过 SQL 为现有列设置默认值
【发布时间】:2024-01-08 19:45:01
【问题描述】:

我有一个 12 岁的 mdb 数据库,我被要求向表中添加一个新列并将默认值设置为“1”。

我对@9​​87654323@/mdb的了解接近于零。我也没有Access或类似的软件。

我试过了:

 ALTER TABLE Members ADD COLUMN Privacy Double Default 1

但会产生错误:

错误:动作查询不能用作行源。

然后我尝试了:

 ALTER TABLE Members MODIFY COLUMN Privacy VARCHAR(4) NOT NULL DEFAULT 'Yes';

但这也会触发另一个错误:

Microsoft JET 数据库引擎错误“80040e14”

如何将现有列设置为默认值?

我应该使用离线工具吗?如果有,是哪一个?

注意:我还使用了在线工具来创建新列,但它没有设置默认值的选项。

所以我可以使用该工具创建新列并使用 SQL 设置默认值,或者仍然使用 SQL 创建具有默认值的列。

【问题讨论】:

  • 你试过this syntax吗?
  • @luk2302 是的,我试过了,但我得到了同样的错误“错误:动作查询不能用作行源。”
  • 上面的注释表明你正在为查询结果设置一个记录集,执行它即可。
  • 只是一个愚蠢的问题:你不能通过设计视图编辑表格吗? O_O
  • @krish 来自上述“我也没有 Access 或类似软件。)”

标签: sql-server ms-access asp-classic


【解决方案1】:

我使用来自SourceForge.netAxBase 解决了。

我可以正确打开 *.mdb 数据库并运行上述 SQL 命令,它们运行良好:

 ALTER TABLE Members ALTER COLUMN Privacy SET DEFAULT 1

【讨论】:

    【解决方案2】:

    您好,您的访问数据库可能在 office 2003 或 office xp 中。 您可以尝试启用 sql 语法,然后尝试运行您的查询。

    工具 -> 选项 -> 表/查询 ->(在右下角:) Sql Server Compatible Syntax - 为此数据库打开选项。

    ALTER TABLE Members ADD COLUMN Privacy number Default 1
    

    【讨论】:

    • 您可以从 VBA 运行此类语句,但不能从查询设计窗口运行。更改为 Sql Server 兼容语法可能会毁掉很多事情。此外,OP 使用的是 asp classic。
    最近更新 更多