How to install InnoDB Engine in MySQL

หลังจากที่ได้เรียนวิชา Database ไป ซึ่งเรียนในเรื่องของ Referential integrity ทำให้ได้ความรู้ใหม่ๆ มากขึ้นมากมาย โดย Referential integrity  เป็นกฏที่ใช้ในการควบคุมการเชื่อมโยงระหว่างตาราง

การควบคุมให้เป็นไปตามกฎความคงสภาพของการอ้างอิงที่เกี่ยวกับการลบแถวข้อมูลและแก้ไขข้อมูล

1. การกระทําแบบต่อเนื่อง (CASCADE) : การตามไปลบแถวข้อมูลหรือลบข้อมูลใน attributeที่มี Foreign Keyอ้างอิงถึงข้อมูลนั้นในอีก Relation หนึ่งด้วย
2. การกระทําแบบมีข้อจํากัด  (RESTRICT)  : การไม่อนุญาตให้ลบแถวข้อมูลหรือลบข้อมูลใน attribute ที่มีการอ้างอิง  ถึงข้อมูลนั้นในอีก Relation หนึ่ง
3. การกระทําโดยการใส่ค่าว่าง  (NULLIFILE/SET NULL) : ต้องกําหนดให้ข้อมูลใน attribute ที่เป๊น Foreign Key  เปนค่าว่างจึงจะสามารถลบแถวข้อมูลหรือลบ/แก้ไขข้อมูลใน Attribute นั้นได้

หมายเหตุ : ออฟใช้ AppServ2.5.9

InnoDB คืออะไร

ฐานข้อมูลประเภท Innodb คือฐานข้อมูลที่สามารถรองรับการทำงานแบบ transaction ได้ ซึ่งการทำงาน transaction คือการทำงานที่ถ้างานมีข้อผิดพลาดแม้แต่ประการเดียวก็จะถือว่าเป็นการทำงาน ผิดพลาด
ที่มา : http://wiki.nectec.or.th/ntl/Main/InnoDB

ทำไมต้องใช้ InnoDB

InnoDB จะช่วยในการทำ Foreign Key ซึ่งจะทำการ Reference Index แต่ละ Table ก็จะสามารถทำการ Cascade Delete, Update ได้ว่างั้น ถ้าไม่ Enable InnoDB ก็จะได้เป็น MyISAM ทำให้เราจะใช้ Foreign Key ไม่ได้

การตั้งค่าเพื่อให้สามารถใช้ InnoDB

1. เปิดไฟล์ my.ini ขึ้นมา (ของออฟไฟล์อยู่ที่ C:\AppServ\MySQL )

2. ทำกา่รค้นหาคำว่า skip-innodb

3. ใส่ # หน้า skip-innodb เพื่อเป็นการอนุญาตให้ใช้ innodb ได้

4. ทำการ save

5. restart MySQL

การ restart MySQL (ออฟใช้ AppServ)

1. Start > All programs > AppServ > Control Server by Service > MySQL Stop

appserv.jpg

2. หลังจากทำการ Stop แล้วให้มากด Start ใหม่อีกครั้ง

การตรวจสอบว่าใช้ InnoDB ได้แล้ว

1. เข้า http://localhost/phpMyAdmin/ (การเข้าอาจจะมี path แตกต่างกันได้)

2. เลือก Storage Engines

appserv_2.jpg

3. จะพบว่า InnoDB เป็นสีฟ้า แสดงว่าสามารถใช้ได้แล้ว (ปกติแล้วจะเป็นสีเทา ซึ่งจะไม่สามารถใช้งานได้)

appserv_3.jpg

Leave a comment