ช่าวผมหน่อยครับ Database เรื่องดึงค่าPrimary Keyมาใช้ครับ
http://dev.mysql.com/doc/refman/5.0/en/insert-select.html
ลองดู syntax นี้ครับใช้แค่ sql ในการ insert จากการ select ข้อมูลที่มีอยู่แล้วครับ
Date :
2013-12-07 17:40:45
By :
num
ผมไม่ค่อยเข้าใจเลยครับ
Date :
2013-12-08 00:03:54
By :
nonzabboy
ไม่ทราบว่ามีฟิลด์อะไรบ้างเลยจะยกตัวอย่างให้ดูนะครับ
insert into tb_contact(name,phone)
select first_name,mobile_phone from tb_user;
============================================
name คู่กับ first_name
phone คู่กับ mobile_phone
ข้างบนนี้จะเป็นการคัดลอกข้อมูล จาก tb_user ทุกแถวไปลงไว้ในตาราง tb_contact
ถ้า tb_user มี 100 แถว
หลังจาก run คำสั่งด้านบน ตาราง tb_contact ก็จะมีจำนวนแถวเพิ่มขึ้น 100 แถวเหมือนกันครับ
Date :
2013-12-08 00:28:50
By :
num
ครับ
มีตาราง chicken
ฟิลด์ chicken_ID เป็นPrimary Key
และตาราง dominant_feature เป็น foreign key
ฟิลด์ คือ chicken_ID
ครับ
Date :
2013-12-08 00:50:30
By :
nonzabboy
ผมลองแล้วต้องเอา
insert into tb_contact(name,phone)
select first_name,mobile_phone from tb_user;
ใส่ลงไปใน sql ช่ายป่าวครับ
ผมอยากเวลา กดบันทึกแล้ว ดึงค่ามาใส่เลยอะครับ
Date :
2013-12-08 16:06:35
By :
nonzabboy
จะบันทึกลงตารางหลัก แล้วก็ตารางที่เป็น FK ใช่ป่ะ ลองศึกษาพวก mysql_insert_id ดู
Date :
2013-12-08 16:24:28
By :
Krungsri
ครับ บันทึกลง primarykey พร้อมกับดึงค่าจากตารางprimarykeyมาลงในตารางFK ครับ
Date :
2013-12-08 16:51:31
By :
nonzabboy
$sql = 'insert into chicken(.รายชื่อฟิลด์..) values(.รายการค่าของฟิลด์..)';//ใส่ชื่อฟิลด์และค่าให้ครบ
$rs = mysql_query($sql);
$chicken_id = mysql_insert_id();//$chicken_id = ค่า Checken_ID ของการ insert ครั้งแรก
$sql = "insert into dominant_feature(Chicken_ID,Organ_ID,Color_ID,C_Percenttage) values('$chicken_id ','1','1','1')");
mysql_query($sql);
ประวัติการแก้ไข 2013-12-08 17:52:57 2013-12-08 17:53:18
Date :
2013-12-08 17:52:22
By :
num
$strSQL = "INSERT INTO chicken(Sex,DOB,Weight,Height,Room_No) VALUES ('".$_POST["sex"]."','".$DOB."','".$_POST["textWeight"]."','".$_POST["textHeight"]."','".$_POST["textRoom_No"]."')";
$chicken_id = mysql_insert_id();
$sql_add = "INSERT INTO dominant_feature (Chicken_ID,Organ_ID,Color_ID,C_Percentage) VALUES ('".$chicken_id."')";
$objQuery = mysql_query($strSQL) or die (mysql_error());
$objQuery1 = mysql_query($sql_add) or die (mysql_error());
อย่างนี้ใช่ป่าวครับ
ผมลองแล้วยังไม่เข้าเลยอะครับ
Date :
2013-12-09 00:48:29
By :
nonzabboy
กดบันทึกแล้ว ตาราง chicken ฟิลด์chicken_IDขึ้นเป็น32
แต่ ตาราง dominant_feature ฟิลด์chicken_ID เป็น0 อะครับ มันไม่เป็น 32 เหมือนตาราง chicken อะครับ
Date :
2013-12-09 00:57:47
By :
nonzabboy
Code (PHP)
$strSQL = "INSERT INTO chicken(Sex,DOB,Weight,Height,Room_No) VALUES ('".$_POST["sex"]."','".$DOB."','".$_POST["textWeight"]."','".$_POST["textHeight"]."','".$_POST["textRoom_No"]."')";
$objQuery = mysql_query($strSQL) or die (mysql_error());
$chicken_id = mysql_insert_id();
$sql_add = "INSERT INTO dominant_feature (Chicken_ID,Organ_ID,Color_ID,C_Percentage) VALUES ('".$chicken_id."')";
$objQuery1 = mysql_query($sql_add) or die (mysql_error());
สลับตำแหน่งครับเพราะ mysql_insert_id() จะมีค่าต่อเมื่อมีการ insert เกิดขึ้นก่อนหน้าครับ
Date :
2013-12-09 01:01:53
By :
num
ผมขอบคุณพี่มากๆๆๆเลยนะครับ ขอบคุณจิงง
Date :
2013-12-09 01:33:46
By :
nonzabboy
Load balance : Server 01