|
|
|
ต้องการ Insert ข้อมูลที่เป็น foreign key 2 ตัว ในตารางเดียวกัน ทำอย่างไรคะ ? |
|
|
|
|
|
|
|
ความสัมพันธ์ของตารางมีดังนี้ค่ะ
คือต้องการบันทึกข้อมูลในตาราง drb_orders_detail โดยบันทึก foreign key 2 ตัว
ตัวแรกคือ drb_or_id ของตาราง drb_orders | ตัวที่สองคือ drb_pdup_id ของตาราง drb_product_up
โดย drb_pdup_id นั้นมีข้อมูลอยู่แล้ว , ส่วน drb_or_id นั้นยังไม่มีข้อมูล จะมีข้อมูลพร้อมกันเมื่อทำการบันทึกข้อมูลในตาราง drb_orders_detail ค่ะ
อยากทราบว่าจะมีวิธีเขียนอย่างไร ให้บันทึก foreign key 2 ตัว พร้อมกันให้ตารางเดียวได้คะ ?
เพราะตอนนี้มันขึ้น error แบบนี้คะ
Quote:Cannot add or update a child row: a foreign key constraint fails (`galacy/drb_orders_detail`, CONSTRAINT `drb_orders_detail_ibfk_2` FOREIGN KEY (`drb_pdup_id`) REFERENCES `drb_orders_detail` (`drb_pdup_id`) ON DELETE CASCADE ON UPDATE CASCADE)
โค้ดที่เขียนตอนการบันทึก
Code (PHP)
//----------- INSERT INTO bk_orders ------------//
$strSQL = " INSERT INTO drb_orders (drb_or_date,emp_id,drb_or_code)
VALUES('".date("Y-m-d H:i:s")."','".$_POST["emp_id"]."','".$strNextSeq."') ";
mysql_query($strSQL,$durable_connect) or die(mysql_error());
//-------- INSERT INTO bk_orders_detail --------//
$drb_or_id = mysql_insert_id($durable_connect);
$drb_pdup_id = mysql_insert_id($durable_connect);
for($i=0;$i<=(int)$_SESSION["intLine"];$i++)
{
if($_SESSION["str_drb_pdup_id"][$i] != "" )
{
$strSQL = " INSERT INTO drb_orders_detail(drb_or_id,drb_pdup_id) VALUES('$drb_or_id','$drb_pdup_id') ";
$sqlquery = mysql_query($strSQL,$durable_connect) or die(mysql_error());
}
}
Tag : PHP, MySQL
|
ประวัติการแก้ไข 2016-04-29 10:29:14
|
|
|
|
|
Date :
2016-04-29 10:28:13 |
By :
hiyingzha |
View :
1954 |
Reply :
2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
$drb_pdup_id = mysql_insert_id($durable_connect);
ตัวข้างบน ต้องเปลี่ยนให้เป็นการรับค่า จากการ request ครับ
ให้มันส่งค่าที่เลือกมาด้วย
|
|
|
|
|
Date :
2016-04-30 08:22:01 |
By :
Chaidhanan |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ขอบคุณที่ให้คำแนะนำเสมอมาค่ะ
ลองไปตรวจฐานในทานข้อมูลดู พบว่ากำหนด fk ผิดที่เองค่ะ ข้อมูลเลยไม่บันทึก ^_^
|
ประวัติการแก้ไข 2016-05-02 21:27:59 2016-05-02 21:29:02
|
|
|
|
Date :
2016-05-02 21:27:30 |
By :
hiyingzha |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 02
|