我正在尝试使用SQL在ms-access中向表中添加Boolean
列。我正在使用JET,这是我尝试过的SQL查询。
Query = "ALTER TABLE tabDatafiveMinutely ADD CON0001 BOOLEAN DEFAULT FALSE"
Query = "ALTER TABLE tabDatafiveMinutely ADD CON0001 BOOLEAN"
我得到的错误是“字段定义中的语法错误”
感谢您的帮助
编辑:
我现在想要制作默认的null
而不是false
。我试过了default null
这仍然给了我false
,有人可以帮忙吗?
结果:
ms-access数据库只能使用true
和false
而不是null。因此,我决定使用integer
代替。
答案 0 :(得分:10)
Yes/No
列的等效SQL类型为BIT
ALTER TABLE tabDatafiveMinutely
ADD COLUMN CON0001 BIT DEFAULT 0 NOT NULL
注意强>
DEFAULT语句只能通过Jet OLE DB提供程序和ADO执行。如果通过Access SQL View用户界面使用,它将返回错误消息。
正如@Pere指出的那样,Jet Engine(Access'查询引擎)不会将DEFAULT值应用于现有行。更改表后必须运行UPDATE语句。
UPDATE tabDatafiveMinutely SET CON0001 = 0 WHERE CON0001 IS NULL
答案 1 :(得分:3)
您应该使用BIT数据类型而不是BOOLEAN。
答案 2 :(得分:0)
我不确定你从哪里读取语法,但是你需要一个更好的来源。
ALTER TABLE tabDatafiveMinutely
ADD COLUMN CON0001 <datatype>
对于布尔类型,我认为你需要从BIT,INTEGER或CHAR(1)中选择。它依赖于应用程序。例如,遗留系统通常在CHAR(1)列中使用't'和'f'。