Thaimisc.com : PHP กับฐานข้อมูล MySQL (19)
ThaiMisc.Com : Free Webboard | Free GuestBook | Free Poll | Free Ecard Server | Free Java Chat Room | Advertising | Contact Us | Colocation | Web Hosting | เปิดร้านค้าฟรี


Category : Php Developer Print Article Only Print Aticle With Comment
PHP กับฐานข้อมูล MySQL (19)
เขียนโดย เดอะกาฝากไดอารี่ (ball@bbznet.com) , 24-06-2004

6 วัน แหม รอดหวุดหวิดครับ สัญญาเอาไว้กับตัวเองว่าจะพยายามมาอัพเดตเนื้อหาให้ได้อย่างน้อย สัปดาห์ละ 1 ตอน เหอๆ พอดีช่วงนี้กำลังฟิต ซุ่มเขียนโปรแกรมไดอารี่ออนไลน์อยู่น่ะ

ในตอนที่แล้วผมได้พูดถึงประโยชน์ของการมี primary key ไปแล้ว... จริงๆ แล้วประโยชน์ของมันไม่ได้อยู่แค่เรื่องของการอ้างอิงถึง key เวลาที่จะทำการอัพเดตข้อมูลระเบียน หรือการลบข้อมูล (ซึ่งจะกล่าวถึงต่อไป) เท่านั้น แต่มันยังมีประโยชน์อีกในกรณีที่เราจะพัฒนาแอปพลิเคชั่นที่ซับซ้อนมากยิ่งขึ้น (ซึ่งก็จะกล่าวถึงในภายหลังอีกเช่นกันนั่นแล)

ประเด็นของเราตอนนี้ก็คือ เรารู้แล้วว่า primary key เนี่ยมันมีประโยชน์ และเราก็อยากจะสร้างฟิลด์ชื่อ eid เพิ่มเข้าไปในตาราง employee เราจะทำยังไงดี?!? แหม~ ไม่ต้องคิดหนักก็ได้ครับ มี phpMyAdmin เอาไว้ทำไมล่ะ?!? ก็ใช้มันจัดการให้เราก็สิ้นเรื่องนี่นา

ก่อนอื่นก็ไปเปิดโปรแกรม phpMyAdmin แล้วเข้าไปยังฐานข้อมูล company ของเราซะก่อน แล้วก็คลิกที่ตาราง employee ตรงเมนูด้านซ้ายมือ (ดูรูปประกอบ)

หน้าจอที่เราจะเห็นก็คือ หน้าจอโครงสร้างของตาราง employee นั่นเอง ณ ตอนนี้เราก็จะเห็นว่ามีทั้งหมด 4 ฟิลด์ด้วยกัน ถึงตรงนี้ให้ดูด้านล่างหน่อย จะเห็นว่ามีส่วนสำหรับเพิ่มฟิลด์เข้าไปในตารางด้วย ให้พิมพ์เลข 1 (จริงๆ มันพิมพ์ไว้ให้อยู่แล้วอ่ะนะ) หมายความว่าเราต้องการเพิ่มฟิลด์เข้าไปใหม่ 1 ฟิลด์ และตรง drop-down menu ให้เลือกเป็น "ที่จุดเริ่มต้นของตาราง" (ปกติจะอยู่ที่ "ที่จุดสุดท้ายของตาราง") จากนั้นก็คลิกปุ่ม "ลงมือ" ได้เลย

มันก็จะพาเราเข้ามาที่หน้าจอเพิ่มฟิลด์ครับ ก็จะคล้ายๆ กับหน้าจอออกแบบฐานข้อมูล ที่ให้เราใส่รายการฟิลด์ต่างๆ นั่นแหละครับ แต่จำนวนฟิลด์ที่ปรากฏไว้ให้ใส่ ก็จะมีค่าเท่ากับตัวเลขที่เรากรอกเอาไว้ก่อนคลิกปุ่ม "ลงมือ" นั่นแล

จากนั้นเราก็แค่กรอกข้อมูลฟิลด์ eid เข้าไปเท่านั้นเอง โดยกำหนดให้เป็นชนิด INT คือจำนวนเต็ม และมีแอตทริบิวต์เป็น UNSIGNED (ก็เราไม่คิดจะเก็บค่า id เป็นค่าลบอยู่แล้วนี่นา) และให้เป็น not null เพราะว่าค่า id นี้ควรจะมีอยู่ในทุกระเบียน... และเพื่อความสะดวกสบายของเรา ก็ควรกำหนดให้เป็น auto_increment เพื่อให้มันเพิ่มค่าเองโดยอัตโนมัติ เมื่อมีการแทรกระเบียนใหม่... สุดท้ายที่ลืมไม่ได้คือกำหนดให้มันเป็น "ไพรมารี" ซะ

จากนั้นคลิกปุ่มบันทึก มันก็จะพาเรากลับไปที่หน้าจอ โครงสร้าง ของตาราง employee เราจะเห็นว่ามีฟิลด์ชื่อ eid ขึ้นมาแล้ว... สังเกตดีๆ มันจะถูกขีดเส้นใต้อยู่ด้วย แสดงให้เห็นว่ามันเป็น primary key ครับ

สังเกตอีกนิด ด้านล่างของโครงสร้าง จะมีตารางที่คอยบอกด้วยว่า ฟิลด์ใดบ้างที่เป็น key ของตารางครับ ตอนนี้เรามีแค่ฟิลด์ eid เท่านั้น ที่เป็น primary key ของตาราง จริงๆ แล้วเรายังกำหนดฟิลด์อื่นๆ ให้เป็น key ได้อีก แต่ตอนนี้ยังไม่มีฟิลด์ไหนเหมาะๆ ครับ เราจะมาทำให้มันเหมาะกันอีกที ภายหลัง

ตอนนี้ที่เราสนใจคือ

ALTER TABLE `employee` ADD `eid` INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY FIRST ;

อันเป็นคำสั่ง SQL ที่เกิดขึ้นเมื่ออีตอนที่เราเพิ่มฟิลด์ eid เข้าไปในตาราง employee ต่างหาก

(ติดตามตอนต่อไป)

<- Back | Next ->

ThaiMisc.Com : Free Webboard | Free GuestBook | Free Poll | Free Ecard Server | Free Java Chat Room | Advertising | Contact Us
Copyright 1999-2006 Thailand Miscellaneous. Allrights reserved. webmaster@thaimisc.com