如何在SSMS插入语句中为未指定列插入空字符串而非NULL
在SSMS中实现未指定列插入空字符串而非NULL的方法
当然可以实现,核心是通过SQL语句控制插入逻辑,以下是几种可行方案:
显式指定所有列及对应值
插入时把所有列都列在字段列表中,需要插入空字符串的位置直接用''填充,示例:INSERT INTO table_name (Col_names, 列A, 列B) VALUES ('指定值', '', '');这种方式完全可控,能精准定义每一列的插入内容。
修改列的默认值为空白字符串
如果希望后续所有未指定该列的插入操作都自动填充空白字符串,可给列添加默认约束:-- 给目标列添加默认空字符串的约束 ALTER TABLE table_name ADD CONSTRAINT DF_table_name_目标列 DEFAULT '' FOR 目标列; -- 如果列已有默认约束,需先删除再添加 -- ALTER TABLE table_name DROP CONSTRAINT 原默认约束名称;之后执行
INSERT INTO table_name (Col_names) VALUES (Values)时,未指定的列会自动插入空白字符串而非NULL。使用INSERT...SELECT语法批量插入
批量插入场景下,可通过SELECT语句显式生成空白字符串:INSERT INTO table_name (Col_names, 列A, 列B) SELECT '值1', '', '' UNION ALL SELECT '值2', '', '';
注:SSMS只是SQL Server的图形化管理工具,上述操作本质是通过SQL Server原生语法实现,在SSMS中执行对应SQL语句即可生效。
内容的提问来源于stack exchange,提问作者karthik shanmugam
相关产品推荐
相关产品推荐

