ALTER
向现有列添加默认值的语句的正确语法是什么?
我可以添加没有错误的新列:
ALTER TABLE tb_TableName ADD Record_Status varchar(20)
但是,如果我尝试通过使用以下语句来更改现有列以应用默认值:
ALTER TABLE tb_TableName
ALTER COLUMN Record_Status VARCHAR(20) NOT NULL DEFAULT ''
或者
ALTER TABLE tb_TableName
ALTER Record_Status VARCHAR(20) NOT NULL DEFAULT ''
我有一个错误:
‘Record_Status’附近的语法不正确。
我想你想要这样的语法:
ALTER TABLE tb_TableName
add constraint cnt_Record_Status Default '' for Record_Status
根据您的一些评论,我猜测null
您的表中可能已经有值,这导致列的更改not null
失败。如果真是这样,那么您应该先运行UPDATE
。您的脚本将是:
update tb_TableName
set Record_Status = ''
where Record_Status is null
ALTER TABLE tb_TableName
ALTER COLUMN Record_Status VARCHAR(20) NOT NULL
ALTER TABLE tb_TableName
ADD CONSTRAINT DEF_Name DEFAULT '' FOR Record_Status
参见带有演示的SQL Fiddle
问题内容: 我正在尝试在SQLServer中聚合“ STRING”字段。我想找到与Oracle中相同的函数LISTAGG。 您知道如何执行相同的功能或其他方法吗? 例如, 我希望这个查询的结果是 问题答案: 从SQL Server 2017开始,该功能可用,从而大大简化了逻辑: 在SQL Server中,您可以用来获取结果:
此函数用于以安全的方式更改引用类型的值。 这是在一个线程中运行,其他进程无法访问。 这就是命令需要始终与'dosync'方法相关联'dosync' 。 其次,要更改引用类型的值,需要调用函数以对值进行必要的更改。 语法 (Syntax) 以下是语法。 (alter refname fun) Parameters - 'refname'是保存参考值的变量的名称。 'fun'是用于更改引用类型值的函
问题内容: 我正在尝试添加新列 到此表: 但是查询从未完成,我已经等了5分钟,什么也没发生。该表只有5,000条记录,由于它阻止了对该表的访问,我迫不及待地等待了太多时间。我有一个测试数据库(等于生产版本),并且工作非常迅速。postgres版本是9.5.6。 问题答案: 如果您运行的是PostgreSQL 9.6+,则可以用来查找锁定您的查询的PID。
node-sqlserver 是微软官方发布的 SQL Server 的 Node.js 的驱动程序。可允许 Windows 上运行的 Node.js 程序访问 SQL Server 和 Windows Azure SQL 数据库。 该项目托管在 Github 上。
sqlserver manager 是一个多功能sqlserver图形管理界面,支持自定义导入导出,自动扫描服务器,数据库。
主要内容:语法,示例SQL ALTER TABLE 语句用来修改、添加、删除、修改与表相关的各种要素,比如: 给表添加新的字段 修改现有字段的名字 修改现有字段的类型 添加约束 删除约束 语法 使用 ALTER TABLE 为表添加一个新字段的基本语法如下: ALTER TABLE table_name ADD column_name datatype; 使用 ALTER TABLE 删除表中某个字段的基本语法如