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

เกี่ยวกับ ปัญหาการใช้งาน การติดตั้ง ฐานข้อมูล MySql Oracle MSSQL ect...
การเขียน คำสั่ง SQL เพื่อดึกข้อมูล บอร์ดนี้ควรระบุโครงสร้างตารางของท่านในคำถามด้วยนะ

Moderator: mindphp

User avatar
roj2007
PHP Jr. Member
PHP Jr. Member
Posts: 11
Joined: 01/01/1970 7:00 am

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

Postby roj2007 » 24/10/2007 7:03 pm

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


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

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

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

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

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

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

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

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

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

Image

User avatar
mindphp
ผู้ดูแลระบบ MindPHP
ผู้ดูแลระบบ MindPHP
Posts: 21817
Joined: 22/09/2008 6:18 pm
Contact:

Postby mindphp » 24/10/2007 7:14 pm

แก้ไข โครงสร้าง ตารางได้ เลยครับ field ที่เราเพิ่ม เข้าไป ก็ จะเป็น ค่าว่างหรือ เป็น ค่า ที่เรากำหนด
ติดตาม VDO: http://www.youtube.com/c/MindphpVideoman
ติดตาม FB: https://www.facebook.com/pages/MindphpC ... 9517401606
หมวดแชร์ความรู้: viewforum.php?f=29
รับอบรม และพัฒนาระบบ: viewtopic.php?f=6&t=2042

User avatar
roj2007
PHP Jr. Member
PHP Jr. Member
Posts: 11
Joined: 01/01/1970 7:00 am

Postby roj2007 » 24/10/2007 7:22 pm

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

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

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

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

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

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

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

User avatar
mindphp
ผู้ดูแลระบบ MindPHP
ผู้ดูแลระบบ MindPHP
Posts: 21817
Joined: 22/09/2008 6:18 pm
Contact:

Postby mindphp » 24/10/2007 7:57 pm

ตอนนี้ที่คิดออก มี สอง ทางคือ
1.สร้างตารางใหม่ แล้ว ใช้ select insert into เอา ข้อมูล จากตารางเก่ามาใส่
2.แก้ไขโครงสร้าง ตารางตามต้อง การ แล้ว ใช้การ Update เข้ามาช่วย
แต่ถ้า ถนัด php ก็ ดึงค่า มาเก็บ ใน php แล้ว จับมันใส่ sql ใหม่ แต่ทำอย่างนี้ ต้องระวังพวกเครื่องหมายพิเศษ ด้วย
ติดตาม VDO: http://www.youtube.com/c/MindphpVideoman
ติดตาม FB: https://www.facebook.com/pages/MindphpC ... 9517401606
หมวดแชร์ความรู้: viewforum.php?f=29
รับอบรม และพัฒนาระบบ: viewtopic.php?f=6&t=2042

User avatar
Ballz
PHP Sr. Member
PHP Sr. Member
Posts: 78
Joined: 01/01/1970 7:00 am

Postby Ballz » 25/10/2007 12:45 am

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

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

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

งงมั้ยหว่า? :!:

User avatar
Ballz
PHP Sr. Member
PHP Sr. Member
Posts: 78
Joined: 01/01/1970 7:00 am

Postby Ballz » 25/10/2007 12:49 am

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

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

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

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

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

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

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


ผมยังงงๆ กับที่บอกว่า

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

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

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

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

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

หมายถึงอะไรน่ะครับ :?:

User avatar
roj2007
PHP Jr. Member
PHP Jr. Member
Posts: 11
Joined: 01/01/1970 7:00 am

Postby roj2007 » 05/11/2007 11:12 am

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

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

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

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

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


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

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

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

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

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


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

โรจน์


Return to “SQL - Database”

Who is online

Users browsing this forum: No registered users and 20 guests