我在SQL Server CE 3.5中创建了一个小表
以下是表格说明:
ROW_ID NVARCHAR(30),
NAME NVARCHAR(30),
TEST BIT
我正在使用以下查询在表中插入记录:
insert into EMP(ROW_ID, NAME, TEST)
values('123', 'XYZ', TRUE);
但我收到一个奇怪的错误:
错误消息:列名无效。 [节点名称(如果有)=,列名称= TRUE]
请帮助我。
提前致谢。
答案 0 :(得分:17)
而不是true
和false
使用1
和0
。例如:
insert into EMP(ROW_ID, NAME, TEST)
values('123','XYZ',1);
这适用于SQL Server 2005 bit
:
字符串值TRUE和FALSE可以转换为位值:TRUE转换为1,FALSE转换为0.
你可以尝试一下。如果它适用于CE,则代码('TRUE'
为字符串)也可以起作用:
insert into EMP(ROW_ID, NAME, TEST)
values('123','XYZ', 'TRUE');
答案 1 :(得分:4)
没什么好奇的。它的说法是不知道什么是真的。不是已知名称,不是表中的列,因此出现错误消息。
使用1表示true,0表示false。
答案 2 :(得分:0)
否则,您可以尝试这种方式:
insert into EMP(ROW_ID, NAME, TEST)
values('123','XYZ',b1); // b for bit type and 1 is the field value as (true)
or
insert into EMP(ROW_ID, NAME, TEST)
values('123','XYZ',0b1); // 0b for bit type and 1 is the field value as (true)