2008-09-06 49 views
5

更新客户端的旧ASP/Access站点 - 我需要SQL将列添加到现有表并设置默认值。不起作用 - 有什么想法?要添加具有默认值的列的SQL - Access 2003

这工作得很好

ALTER TABLE documents ADD COLUMN membersOnly NUMBER 

我想这个工作:

ALTER TABLE documents ADD COLUMN membersOnly NUMBER DEFAULT 0 

用Google搜索,看到的默认值指令字段类型工作,但我想补充数量。谢谢!

+0

谢谢,[完美地工作(http://stackoverflow.com/questions/47535/sql-to-add-column-with-default-value-access- 2003#47552)。但这意味着我必须下载MDB才能做到这一点,并且我想要SQL,这样我就不必离线了!我研究出YESNO有一个固有的默认值,所以我可以在这个场合取而代之。很高兴知道ANSI兼容模式 - 非常感谢。 – Polsonby 2008-09-06 15:35:52

回答

8

工具 - >选项 - >表/查询 - >(在右下角:) Sql Server兼容语法 - 打开此数据库的选项。

那么你可以执行查询:

ALTER TABLE documents ADD COLUMN membersOnly NUMBER DEFAULT 0 
+1

这对我不起作用。它创建列但不设置默认值。 – JohnMerlino 2011-02-01 01:10:51

+0

+1谢谢,不知道这个选项。不需要简单地添加一个DEFAULT子句,也不需要使用标准语法添加默认的CONSTRAINT,但是我确信它对于某些东西是有用的。 – harpo 2011-02-05 17:17:39

0

如何连接到数据库运行更新SQL?您可以通过ADO使用ODBC兼容模式。无需在Access中打开数据库。

0

您可能会发现Sql Server兼容的语法已经打开,所以肯定值得在尝试使db脱机之前运行上面提到的sql语句(通过ASP的ADO连接)。谢谢,这帮了我。

6

使用ADO,您可以执行DDL语句来创建字段并设置其默认值。

CurrentProject.Connection.Execute _ 
    "ALTER TABLE discardme ADD COLUMN membersOnly SHORT DEFAULT 0" 
0

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

没有在MS Access中2010