我正在尝试使用Microsoft SQL Server Management Studio程序将数据列添加到数据库中。
我已经有一个数据库,带有一个表,在该表中我需要添加另一个列..但它一直说它找不到类型bool或boolean。
我的代码:
ALTER TABLE table_name ADD IsOpen boolean GO
有什么想法吗?
方面的问题,任何想法如何改变现有的专栏?我有一个名为“预算”的专栏,但它需要是“预算”。
答案 0 :(得分:6)
您需要使用bit
而不是bool
数据类型
ALTER TABLE table_name ADD IsOpen bit
GO
这里有一些关于数据类型的信息
Data type Access SQLServer Oracle MySQL PostgreSQL
boolean Yes/No Bit Byte N/A Boolean
回答Qustion 2
重命名SQL Server(Transact-SQL)中现有表中的列的语法是:
<强>语法:强>
sp_rename 'table_name.old_column_name', 'new_column_name', 'COLUMN';
对于您的专栏:
sp_rename 'table_name.budget', 'Budget', 'COLUMN';
答案 1 :(得分:2)
位(0/1)在SQL
中用作布尔值ALTER TABLE table_name ADD IsOpen bit GO
答案 2 :(得分:2)
ALTER TABLE [dbo].[TableX] ADD IsOpen bit
答案 3 :(得分:2)
在mssql中没有名为boolean
或bool
的类型。您必须使用bit
,即0或1。
答案 4 :(得分:2)
这里的答案很好,但是有一个最佳实践,我很惊讶没有提及。我建议制作所有新的布尔/位列NOT NULL
。
通过允许使用空值,您要存储的值可以为true,false或null。在许多布尔情况下,具有第三个值(空)是没有意义的,并且有可能导致无法预料的错误。
这是我建议用于创建位/布尔列的SQL脚本:
ALTER TABLE table_name ADD IsOpen bit NOT NULL DEFAULT 1
GO
这将不允许空值,并且默认记录将具有1 / true值。如果您希望默认情况下数据为false / 0,则只需将此处的1更改为0。