Sql 无法将null更改为not null
表Sql 无法将null更改为not null,sql,Sql,表[dbo].[payment\u info]上的列名必须从NULL更改为notnull。如果表中包含数据,则ALTER脚本可能无法工作。 要避免此问题,必须为此列中的所有行添加值,或将其标记为允许空值,或将生成智能默认值作为部署选项 CREATE TABLE [dbo].[payment_info] ( [name] VARCHAR (50) NOT NULL, [card_no] VARCHAR (50) NULL, [card_type] VAR
[dbo].[payment\u info]
上的列名必须从NULL更改为notnull。如果表中包含数据,则ALTER脚本可能无法工作。
要避免此问题,必须为此列中的所有行添加值,或将其标记为允许空值,或将生成智能默认值作为部署选项
CREATE TABLE [dbo].[payment_info]
(
[name] VARCHAR (50) NOT NULL,
[card_no] VARCHAR (50) NULL,
[card_type] VARCHAR (50) NOT NULL,
[tel_no] VARCHAR (50) NULL,
[mob_no] VARCHAR (50) NULL,
[address] VARCHAR (MAX) NULL
);
我无法将NULL
更改为非NULL
;当我更新时,它会显示上述警告
我正在使用visual studio 2013 asp.net和c#。我不确定是否正确理解了您的问题,但警告说明了一切-如果列中已经存在空值,则无法将列切换为不可空值 您必须更新并将一些值设置为空条目或设置默认值 编辑: 你应该先试试:
select *
from [dbo].[payment_info]
where name is null
并检查是否存在任何问题如果表已经存在,并且已使用数据完成,则必须更新要更改的列中非空值的所有空值。然后,ALTER命令应该在没有警告和/或错误的情况下工作。在服务器资源管理器中右键单击您的表,然后单击“新建查询”。类型:
ALTER表
桌子
变列
柱
int不为空;
该表是否已经存在?是的……在此表中,它是给定的null,但我需要将所有内容都更改为not null。更改为not null后,我无法更新数据库(即保存数据库)“要避免此问题,必须为此列中的所有行添加值,或将其标记为允许空值,或将生成智能默认值作为部署选项。”。“消息本身为您提供了答案……这是您的问题,当表已经存在时,您也无法创建它。。。这将创造一些已经存在的东西。你想改变它。如果你真的阅读了错误信息中的文字,它会非常清楚地解释问题是什么以及如何解决它。学会阅读这些单词——它们不只是为了在屏幕上显示一些东西。它们实际上包含信息,但您必须实际读取它们才能获得该信息。但我需要在单击按钮时将值保存到数据库中…在这其中,唯一的卡片类型是保存到tableprotected void Button1\u click(object sender,EventArgs e){string constr=ConfigurationManager.ConnectionStrings[“dataconnectionstring”].ConnectionString;SqlConnection cn=new-SqlConnection(CONTR);SqlCommand cmda=new-SqlCommand(“插入付款信息(姓名、卡号、电话号、手机号、地址)值(“+name+”、“+cno+”、“+tno+”、“+mbno+”、“+address+”)、cn);如果(ddlcardtype.SelectedValue=“1”){SqlCommand cmd=new SqlCommand(“插入付款信息(卡片类型)值(“+ddlcardtype.SelectedItem+”)”,cn);cn.Open();cmd.ExecuteNonQuery();cn.Close();}否则(ddlcardtype.SelectedValue==“2”){SqlCommand cmd=new SqlCommand(“插入付款信息(卡片类型)值(“+ddlcardtype.SelectedItem+”)”,cn);cn.Open();cmd.ExecuteNonQuery();cn.Close();}@user2123496您可以更新您的问题,使阅读更容易。但主要问题是查询插入付款信息(卡片类型)…
不可能。@user2123496您可以使用UPDATE语句并将WHERE子句设置为NULL。表中的所有列都是VARCHAR,因此请将NULL更新为一个空格字符或空字符串。我不知道您是否有任何其他结构,如表之间的关系(某些结构可能无法正常工作),但对于你的任务来说,这就足够了