2012-01-05 144 views
1

表单用于从客户那里获取信息。 这种形式有几个领域。 来自多个字段的数据必须保存在一列中。 其余的需要保存在另一个表中。如何将customer_id从第一个表的customer_id中获取到第二个表中?

下面是我使用

package web.servlets; 

import java.io.IOException; 
import java.io.PrintWriter; 

import javax.servlet.ServletException; 
import javax.servlet.http.HttpServlet; 
import javax.servlet.http.HttpServletRequest; 
import javax.servlet.http.HttpServletResponse; 

import com.ead.DBConnect; 

/** 
* Servlet implementation class New 
*/ 
public class CustomerReg extends HttpServlet { 
    private static final long serialVersionUID = 1L; 

    /** 
    * @see HttpServlet#HttpServlet() 
    */ 
    public CustomerReg() { 
     super(); 
     // TODO Auto-generated constructor stub 
    } 


    /** 
    * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response) 
    */ 
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 
     // TODO Auto-generated method stub 
     response.setContentType("text/html"); 
     PrintWriter out = response.getWriter(); 
     String name = request.getParameter("name"); 
     String email = request.getParameter("email"); 
     //String Password = request.getParameter("Password"); 
     String addressno = request.getParameter("addressno"); 
     String city = request.getParameter("city"); 
     String country = request.getParameter("country"); 
     String postalcode = request.getParameter("postalcode"); 
     String telnum = request.getParameter("telnum"); 

     DBConnect dbconnect = new DBConnect(); 
     dbconnect.update("INSERT INTO customer (customer_name, email, address_no, city, country, postal_code) VALUES('"+name+"','"+email+"','"+addressno+"', '"+city+"','"+country+"','"+postalcode+"')"); 
     int[] id = dbconnect.selectInt("Select LAST_INSERTID()", "customer_id"); 
     dbconnect.update("INSERT INTO customer_tel (customer_id, tel_no) VALUES('+id+', '"+telnum+"')"); 

    } 

} 

如何从同一个表中设置数据到两个表的线?

+0

我想你需要澄清你的问题。你的意思是在同一个语句中插入两个表吗?你不能,但你可以在同一个事务中插入两个表。并请使用参数为 – 2012-01-05 06:57:00

回答

0

我认为customer_idAutoIncremented在表CUSTOMER。我建议您在表CUSTOMER上创建一个TRIGGER,以便每次在该表上插入一条记录时,它会自动获取customer_idINSERTcustomer_tel表。

这个链接将指导您创建触发器:Mysql Trigger After Insert

+0

的已准备好的语句,递增的pk值也可以从执行语句中读取(读取api或Google它,我没有任何片段可以立即发帖:o)。并且这两个插入应该在同一个事务中运行。你真的不希望为此使用触发器。 – 2012-01-05 07:02:59

+0

在html页面中有一个表格,其中包含姓名,地址,bla bla和telphone号码等信息...详细信息被插入除电话号码之外的单个表格中。电话号码被插入到另一张桌子......我需要知道如何做到这一点。 – ksnt 2012-01-05 08:12:43

相关问题