Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
SQL:在此上下文中不允许名称为false_Sql_Sql Server 2008 - Fatal编程技术网

SQL:在此上下文中不允许名称为false

SQL:在此上下文中不允许名称为false,sql,sql-server-2008,Sql,Sql Server 2008,在执行以下SQL查询时 alter table tablename add columnname boolean not null default false; 我收到以下错误消息: 在此上下文中不允许使用名称“false”。有效表达式是常量、常量表达式和(在某些上下文中)变量。不允许使用列名。 我该如何解决这个问题?建议?没有boolean数据类型。使用位数据类型 位的false值为0 alter table tablename add columnname bit not null def

在执行以下SQL查询时

alter table tablename add columnname boolean not null default false;
我收到以下错误消息:

在此上下文中不允许使用名称“false”。有效表达式是常量、常量表达式和(在某些上下文中)变量。不允许使用列名。


我该如何解决这个问题?建议?

没有
boolean
数据类型。使用
数据类型

位的
false
值为
0

alter table tablename add columnname bit not null default 0

列类型应为
字段

在SQL中,使用
0
1
设置
字段。这些值在SQL Server Management Studio中显示为
false
true
,对应于
0
1

alter table tablename add columnname bit not null default 0;

为什么人们对这个问题投反对票?这是一个常见的误解,也是一个非常恰当的问题。出现此错误的另一个原因是,当您尝试在列中插入一个不包含单引号的值时,也会出现此错误。现在才意识到这一点,并想把它放在这里供大家使用。
Bit
实际上是一种小型整数类型。真理不是一个概念,即使价值有时是这样显示的。如果是,您可以编写
If Cast(1位)print'S'truth
。向其他读者澄清SQL Server确实有数据类型,但
BIT
不是。您可以创建实例,但不能保留它们。您编写了
位的
false
值为
0
。其他数据类型的
false
值是多少,例如
tinyint
?未知的
值是多少?
42
有多真实?@user92546:你错了。没有布尔数据类型。仅仅因为有布尔的概念并不意味着它就有数据类型。对不起,你是
!=0
。请按照我在上一篇评论()中提供的链接,并将其文档错误通知Microsoft。@user92546:好的,请澄清,没有布尔值可以用作表中的类型。你不再吹毛求疵了吗?