In this tutorial you will learn about how can you drop/remove the default value that you have set for a column.
Java Servlet ALTER DROP DEFAULT in MySql
In this tutorial you will learn about how can you drop/remove the default value that you have set for a column.
Default value of a column is the value which is added into the new records or existing record if the value is not specified. Once a default value has been set to the column it can be dropped or removed from the column to drop the default value of a column from an existed table ALTER is used. Since we have to use this query in java program therefore, we have to make a java program and will have to establish a connection to use SQL query in java program. I have a table named 'employee' into which the default value of the column department has set 'devlopment'. So, I created a class named MysqlAlterDropDefaultServlet which extends the HttpServlet class. In the body of class I overridden the method doGet() and created an objects of HttpServletRequest and HttpServletResponse into its parameter. Inside the doGet() method first I set the mime type that in which format the browser will show the output. In the next line I used the getWriter() method of ServletResponse interface with the object of HttpServletResponse. HttpServletResponse interface extends this method from the ServletResponse. In continue since we have to use a SQL query so at first we will have to establish a connection between java code and database system. I am using here Mysql so in the example given below I am loading the driver of mysql and make a connection by using the getConnection() method of DriverManager class. It returns a Connection. Further I passed the query "ALTER TABLE employee ALTER Department DROP DEFAULT " into the parameter of prepareStatement() method of Connection interface which gives an object of PreparedStatement interface. In the next line I used the executeUpdate() method of PreparedStatement interface which returns an integer value of row affected.
Example :
MysqlAlterDropDefaultServlet.java
import java.io.IOException; import java.io.PrintWriter; import java.sql.SQLException; import java.sql.DriverManager; import java.sql.Connection; import java.sql.PreparedStatement; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; public class MysqlAlterDropDefaultServlet extends HttpServlet { public void doGet(HttpServletRequest req, HttpServletResponse res) throws IOException, ServletException { res.setContentType("text/html"); PrintWriter pw = res.getWriter(); String driver = "com.mysql.jdbc.Driver"; String url = "jdbc:mysql://192.168.10.13/data"; String uid = "root"; String psw = "root"; String sql = "ALTER TABLE employee ALTER Department DROP DEFAULT"; try { Class.forName(driver); Connection con = DriverManager.getConnection(url,uid,psw); PreparedStatement ps = con.prepareStatement(sql); int i = ps.executeUpdate(); pw.println(i +" row(s) affected<br>"); pw.println("Default set value has been dropped"); } catch(SQLException sx) { pw.println(sx); } catch(ClassNotFoundException cx) { pw.println(cx); } } }
web.xml
<?xml version="1.0" encoding="UTF-8"?> <web-app id="WebApp_ID" version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"> <display-name>join</display-name> <servlet> <servlet-name> MysqlAlterDropDefaultServlet </servlet-name> <servlet-class> MysqlAlterDropDefaultServlet </servlet-class> </servlet> <servlet-mapping> <servlet-name> MysqlAlterDropDefaultServlet </servlet-name> <url-pattern> /MysqlAlterDropDefaultServlet </url-pattern> </servlet-mapping> </web-app>
Output :
1. When you will see the description of table employee you will see in the column default of the field department is set as devlopment.
2. When you will execute the above example you will get the output as :
3. After executing the above example when you will see the description of table again you will see in the column default of the field department has been replaced by null.
[ 0 ] Comments