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
2. หลังจากทำการ Stop แล้วให้มากด Start ใหม่อีกครั้ง
การตรวจสอบว่าใช้ InnoDB ได้แล้ว
1. เข้า http://localhost/phpMyAdmin/ (การเข้าอาจจะมี path แตกต่างกันได้)
2. เลือก Storage Engines
3. จะพบว่า InnoDB เป็นสีฟ้า แสดงว่าสามารถใช้ได้แล้ว (ปกติแล้วจะเป็นสีเทา ซึ่งจะไม่สามารถใช้งานได้)
Leave a comment