ถ้าเราแทรกเพิ่ม data ในตาราง MySQL เราจะเอาข้อมูลเก่าใส่...?

เกี่ยวกับ ฐานข้อมูล MySql Oracle MSSQL ect..

Moderator: phpbb, mindphp

ตอบกลับโพส
roj2007
phpBBThailand Jr. Member
phpBBThailand Jr. Member
โพสต์: 11
ลงทะเบียนเมื่อ: 01 ม.ค. 1970, 07:00

ถ้าเราแทรกเพิ่ม data ในตาราง MySQL เราจะเอาข้อมูลเก่าใส่...?

โพสต์ โดย roj2007 »

ถ้าเราแทรกเพิ่ม data ในตาราง MySQL เราจะเอาข้อมูลเก่าใส่อย่างไร


ผม ไป ช่วยเขียนโปรแกรมให้ กับบริษัทของพรรคพวก โดยเก็บข้อมูล เป็น MySQL

แต่ พอต่อมา เขาจะเพิ่มหัวข้อโดยแทรก หลายหัวข้อระหว่าง หัวข้อต่าง ๆเท่าที่มี.

ความยุ่งยาก คือ เขามีข้อมูล ที่ป้อนอยู่แล้ว เป็น หลายร้อย data นั่นคือ ถ้า มานั่งป้อนใหม่ คง อ้วก... !!

นั่นคือ ถ้าผม ส่ง โปรแกรม ตัวที่ update แล้วไป บอก พนักงานเขาว่า คุณ ต้องป้อนใหม่ ทั้งหมดนะ

พนักงาน ก็จะไปบอกหัวหน้าๆ ก็ จะบอก พรรคพวกผม ===> ผล เสีย ชื่อ เลย เรา งานนี้

ช่วย ผมด้วยเถอะครับ !!

-------------------------------

ในรูป เป็น ตารางสมมุติ
สมมุติ ผม ต้องการเพิ่ม e-mail ระหว่าง name กับ telephone

แล้ว เรา จะ dump ข้อมูลเก่า เข้าไป อย่างไร ครับ ??

รูปภาพ
mindphp
phpBBThailand VIP Members
phpBBThailand VIP Members
โพสต์: 2269
ลงทะเบียนเมื่อ: 01 ม.ค. 1970, 07:00
ติดต่อ:

โพสต์ โดย mindphp »

แก้ไข โครงสร้าง ตารางได้ เลยครับ field ที่เราเพิ่ม เข้าไป ก็ จะเป็น ค่าว่างหรือ เป็น ค่า ที่เรากำหนด
สร้างไฟล์ pdf online
ท่องเที่ยว http://www.thailandhotelforums.com/" onclick="window.open(this.href);return false;
สอน php http://www.mindphp.com/" onclick="window.open(this.href);return false;
roj2007
phpBBThailand Jr. Member
phpBBThailand Jr. Member
โพสต์: 11
ลงทะเบียนเมื่อ: 01 ม.ค. 1970, 07:00

โพสต์ โดย roj2007 »

มัน ไม่ง่าย อย่างนั้นนะสิครับผมว่า....

แก้ ไข โครงสร้าง ตารางนะ แก้ได้เลย ใช่ครับ

แต่ data เก่า ที่ เขา ป้อนอยู่แล้ว ที่ มี ตั้ง หลายร้อย data ( id)

นี่ล่ะครับ ? จะทำอย่างไร ?

มานั่ง แทรก ช่อง ว่าง ==> ..... , ' ' , ...

อย่างนี้ ทุก data ที่ เขาป้อนมาแล้ว ผม คง เสียเวลา นานแหง เลยครับ

จะทำอย่างไร ให้ dump เก่า ลงได้ โดยเว้น ช่วงว่าง ตรง ตารางที่เพิ่มใหม่( มีหลายอัน ซะด้วยสิ) ? นี่แหล่ะครับ คือปัญหา ที่ผมไม่ทราบครับ.
mindphp
phpBBThailand VIP Members
phpBBThailand VIP Members
โพสต์: 2269
ลงทะเบียนเมื่อ: 01 ม.ค. 1970, 07:00
ติดต่อ:

โพสต์ โดย mindphp »

ตอนนี้ที่คิดออก มี สอง ทางคือ
1.สร้างตารางใหม่ แล้ว ใช้ select insert into เอา ข้อมูล จากตารางเก่ามาใส่
2.แก้ไขโครงสร้าง ตารางตามต้อง การ แล้ว ใช้การ Update เข้ามาช่วย
แต่ถ้า ถนัด php ก็ ดึงค่า มาเก็บ ใน php แล้ว จับมันใส่ sql ใหม่ แต่ทำอย่างนี้ ต้องระวังพวกเครื่องหมายพิเศษ ด้วย
สร้างไฟล์ pdf online
ท่องเที่ยว http://www.thailandhotelforums.com/" onclick="window.open(this.href);return false;
สอน php http://www.mindphp.com/" onclick="window.open(this.href);return false;
Ballz
phpBBThailand Sr. Member
phpBBThailand Sr. Member
โพสต์: 75
ลงทะเบียนเมื่อ: 01 ม.ค. 1970, 07:00

โพสต์ โดย Ballz »

จากตัวอย่างที่ยกมานะครับ สมมติต้องการเพิ่มฟิลด์ email แทรกระหว่าง name กับ telephone
สมมติว่ามีข้อมูลเดิมอยู่ id: 1 - 100 (records)
1. ก็ต้องเพิ่มฟิลด์ email เข้ามาก่อน (ใส่ default เป็น empty string ก็ได้)
--> ตอนนี้จะได้ Table ที่มีข้อมูลเก่าครบ และมีฟิลด์เพิ่มเข้ามาอีก 1 ฟิลด์

2. ไล่ Update ข้อมูลลงไปในฟิลด์ใหม่นั้น

แน่นอนว่าคุณต้องวนไล่ update ข้อมูลทีละ record อยู่แล้วเพราะอยู่ดีๆ จะให้ข้อมูลมันกระโดดเข้าไปอยู่ด้วยตัวมันเองไม่ได้ อันนี้ผมไม่รู้ว่าข้อมูลหัวข้อที่ลูกค้าคุณต้องการเพิ่มเก็บอยู่ที่ไหน ในรูปแบบอะไร (ข้อมูลที่คุณว่าเค้าป้อนไว้แล้วน่ะ) แต่เราสามารถเขียนโปรแกรมไปดึงค่าแล้วนำมา update ได้ โดยผ่าน id เป็นตัวเชื่อม

งงมั้ยหว่า? :!:
Ballz
phpBBThailand Sr. Member
phpBBThailand Sr. Member
โพสต์: 75
ลงทะเบียนเมื่อ: 01 ม.ค. 1970, 07:00

โพสต์ โดย Ballz »

roj2007 เขียน:มัน ไม่ง่าย อย่างนั้นนะสิครับผมว่า....

แก้ ไข โครงสร้าง ตารางนะ แก้ได้เลย ใช่ครับ

แต่ data เก่า ที่ เขา ป้อนอยู่แล้ว ที่ มี ตั้ง หลายร้อย data ( id)

นี่ล่ะครับ ? จะทำอย่างไร ?

มานั่ง แทรก ช่อง ว่าง ==> ..... , ' ' , ...

อย่างนี้ ทุก data ที่ เขาป้อนมาแล้ว ผม คง เสียเวลา นานแหง เลยครับ

จะทำอย่างไร ให้ dump เก่า ลงได้ โดยเว้น ช่วงว่าง ตรง ตารางที่เพิ่มใหม่( มีหลายอัน ซะด้วยสิ) ? นี่แหล่ะครับ คือปัญหา ที่ผมไม่ทราบครับ.
ผมยังงงๆ กับที่บอกว่า

"แต่ data เก่า ที่ เขา ป้อนอยู่แล้ว ที่ มี ตั้ง หลายร้อย data ( id)

นี่ล่ะครับ ? จะทำอย่างไร ?

มานั่ง แทรก ช่อง ว่าง ==> ..... , ' ' , ...

อย่างนี้ ทุก data ที่ เขาป้อนมาแล้ว ผม คง เสียเวลา นานแหง เลยครับ

จะทำอย่างไร ให้ dump เก่า ลงได้ โดยเว้น ช่วงว่าง ตรง ตารางที่เพิ่มใหม่( มีหลายอัน ซะด้วยสิ) ?"

หมายถึงอะไรน่ะครับ :?:
roj2007
phpBBThailand Jr. Member
phpBBThailand Jr. Member
โพสต์: 11
ลงทะเบียนเมื่อ: 01 ม.ค. 1970, 07:00

โพสต์ โดย roj2007 »

ผม ไปธุระ ตจว. ซะหลายวัน

ก่อนอื่น ต้องขอขอบ คุณ ท่าน mindphp และท่าน Ballz

ผม พอจะนึกออกแล้ว คงต้อง "แก้ไขโครงสร้าง ตารางตามต้อง การ แล้ว ใช้การ Update เข้ามาช่วย " ( แต่ยังไม่ได้ลองทำเลย ...ถ้าทำแล้วติด แล้ว จามาถามใหม่ครับ)

ตามทีว่า นั้น แหล่ะ แต่ ยุ่งยากหน่อย เพราะ เพราะ มี ค่า ต่างๆ ร่วม 30 ค่า ต้องแทรก ราวๆ 6-7 ค่า

และ ต่อคำถามที่ ว่า "จะทำอย่างไร ให้ dump เก่า ลงได้ โดยเว้น ช่วงว่าง ตรง ตารางที่เพิ่มใหม่( มีหลายอัน ซะด้วยสิ) ?"


ผมหมายถึง
$sql="insert into tb_member (' ', '$name',' ', '$telephone', '$address','$remark') ;

หมายถึง ช่วง ระหว่าง name กะ telephone.

แล้ว ต้อง มา แก้ที่ data นะ

คือ ผมก็ ถามไปแบบ งงๆ ครับ เลย ทำให้ คนตอบ งง ไปด้วย. ( ตอนนี้ก็ ยังไม่หาย งง เท่าไหร่ แต่ เดี่ยวค่อยทำดูก่อนครับ)

และ ท่าน Ballz ครับ ผม เข้าใจ ครับ ที่ท่านแนะนำมา ไม่ งง ครับ ! :)


ขอบพระคุณครับ

โรจน์
ตอบกลับโพส

ย้อนกลับไปยัง

ผู้ใช้งานขณะนี้

กำลังดูบอร์ดนี้: 71 และ บุคคลทั่วไป 0 ท่าน