2012-01-05 146 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

相關問題