 |
insert ข้อมูล ลงตารางที่มี Foreign Key ยังไงอ่ะครับ |
|
 |
|
|
 |
 |
|
ถ้ามันไม่มี FK ก็ไม่ควรเชื่อม มันตั้งแต่แรกครับ จะทำให้เราสามารถ INSERT ค่าอะไรลงไปก็ได้ แต่ตอนที่ลบก็จะต้องไปเขียน Query ลบเองครับ ว่าแต่มีความจำเป็นอะไรถึงขนาดจะต้องใช้ InnoDB ครับ 
|
 |
 |
 |
 |
Date :
2015-04-25 08:02:42 |
By :
mr.win |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
คือผมเรียน database แล้วอาจารให้ สร้าง er แล้วสร้างตารางออกมาลงฐานข้อมูลอ่ะครับ แล้วบังคับใช้ fk ด้วย
ผมติดตรง หลังจากเชื่อม fk นี่ละครับ ไม่รู้ว่า ต้องเขียน insert ยังไง ให้ค่า pk ของตารางแม่ มาที่ fk ตารางลูกด้วย TT
หรือว่าต้องเอา auto ออก
|
 |
 |
 |
 |
Date :
2015-04-25 13:02:40 |
By :
gameza2009 |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ผมว่าตาราง C ก็สร้าง PK มาอันนึงเลยไม่ได้หรอครับ แล้วก็เก็บ PK ของตาราง A, B อีกที เพื่อให้ง่ายต่อการจัดการในวันข้างหน้า
เช่น
ตาราง A
Code (PHP)
mysql_query("insert into brand(brand_id,brand_name)values('','$brand_name')") or die("ไม่สามารถเพิ่มข้อมูลลง DB ได้");
$LastID = mysql_insert_id();
ตาราง B
Code (PHP)
mysql_query("insert into product(product_id,f_brand_id,product_name)values('','$LastID ','$product_name')") or die("ไม่สามารถเพิ่มข้อมูลลง DB ได้");
$LastID_2= mysql_insert_id();
ตาราง C
Code (PHP)
mysql_query("insert into C(C_id,f_Cbrand_id,f_Cproduct_id)values('','$LastID ','$LastID_2')") or die("ไม่สามารถเพิ่มข้อมูลลง DB ได้");
$LastID _2= mysql_insert_id();
ประมาณนี้ครับ เท่านี้ทั้ง 3 ตารางก็ Join กันได้ละครับ
|
ประวัติการแก้ไข 2015-04-27 00:57:31
 |
 |
 |
 |
Date :
2015-04-27 00:56:41 |
By :
keng_ds |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
|
|