Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Update table column with the columns default value

Tags:

c#

sql

asp.net

System.Data.SqlClient.SqlConnection dataConnection = new SqlConnection();
dataConnection.ConnectionString = ConfigurationManager.ConnectionStrings["DBConnectionString"].ConnectionString;

System.Data.SqlClient.SqlCommand dataCommand = new SqlCommand();
dataCommand.Connection = dataConnection;

long MachineGroupID = Convert.ToInt64(Request.QueryString["node"]);
dataCommand.CommandText = "UPDATE [MachineGroups] SET [MachineGroupName]=@MachineGroupName,[MachineGroupDesc]=@MachineGroupDesc WHERE [MachineGroupID]= @MachineGroupID";

//add our parameters to our command object  
dataCommand.Parameters.AddWithValue("@MachineGroupName", MachineGroupName);
dataCommand.Parameters.AddWithValue("@MachineGroupDesc", MachineGroupDesc);

dataCommand.Parameters.AddWithValue("@MachineGroupID", MachineGroupID);

dataConnection.Open();
dataCommand.ExecuteNonQuery();
dataConnection.Close();

here the MachineGroups table has a column "tval" which was first inserted with user value and then on updating it should put the default value set by the SQl value when created...

for example

[tval] [int] NOT NULL DEFAULT ((2147483647))

this is how the column was created, and now i want to put the value 2147483647 on updating.

also i cannot fix the value as "2147483647" coz that might change..

any suggestions??

thanks

like image 483
user175084 Avatar asked Mar 01 '26 08:03

user175084


2 Answers

Have you tried to use the DEFAULT keyword? For example:

UPDATE [MachineGroups] SET [tval] = DEFAULT 
WHERE [MachineGroupID] = @MachineGroupID

This is supported by the SQL standard, and the syntax docs for UPDATE indicate that Microsoft SQL Server supports this usage of the DEFAULT keyword.

like image 63
Bill Karwin Avatar answered Mar 03 '26 21:03

Bill Karwin


If your SQL server is MS SQL then you might try:

UPDATE [MachineGroups] 
SET [MachineGroupName]=@MachineGroupName
,[MachineGroupDesc]=@MachineGroupDesc 
,[tval]=DEFAULT
WHERE [MachineGroupID]= @MachineGroupID

Other SQL servers will probably have a similar syntax.

like image 41
Andrew Avatar answered Mar 03 '26 20:03

Andrew