วิธีการเขียน SQL เพื่ม PRIMARY KEY ตาราง ฐานข้อมูล

SQL Knowledge ทั้ง sql มาตรฐาน หลักการออกแบบฐานข้อมูล ความสัมพันธ์ของ ตาราง Mysql , PGSQL, Oracle, MSSQL

Moderator: mindphp, ผู้ดูแลกระดาน

ภาพประจำตัวสมาชิก
Ittichai_chupol
PHP VIP Members
PHP VIP Members
โพสต์: 5410
ลงทะเบียนเมื่อ: 19/09/2018 10:33 am

วิธีการเขียน SQL เพื่ม PRIMARY KEY ตาราง ฐานข้อมูล

โพสต์ที่ยังไม่ได้อ่าน โดย Ittichai_chupol »

ในการที่จะเก็บข้อมูลต่างๆนั้น เพื่อจะนำมาใช้งานนั้น จำเป็นต้องมีการสร้างฐานข้อมูลขึ้นมา เพื่อเก็บข้อมูลเหล่านั้นเพื่อง่ายต่อการนำมาใช้งานในขั้นตอนต่อไป ซึ่งทั้งนี้ในการสร้างฐายนข้อมูลที่ดีนั้นควรจะออกเเบฐานให้มีความสัมพันธ์ที่ดี และจะมีการเก็บข้อมูลที่ครบถ้วน ซึ่งทั้งนี้ ในบางครั่งก็อา่จจะสร้างขึ้นมาสมบูรณ์แบบแล้ว แต่อาจจะมีกรณีที่จะต้องมีการปรับบาง คอลัมน์` เพื่อให้มาเป็น PRIMARY KEY ของตารางโดยเพิ่มขึ้นจากของเดิมที่ เพื่อที่จะใช้สำหรับจัดการการเชื่อมโยงของข้อมูลได้อย่างถูกต้องมากขึ้น ซึ่งนอกจากจะเข้าไปปรับแก้ไข โปรแกรมฐานข้อมูลได้ เลย หรือ อาจจะใช้ภาษา SQL เข้ามาช่วยเขียน โดยจะเขียนจากเขียนผ่านไฟล์ php ดังนี้

โค้ด: เลือกทั้งหมด

ALTER TABLE `ชื่อตาราง ` DROP PRIMARY KEY, ADD PRIMARY KEY( PRIMARY KEY เดิม , PRIMARY KEY  ใหม่, PRIMARY KEY  ใหม่, PRIMARY KEY  ใหม่)
จากตัวอย่างอย่าง
1.ในตารางที่ชื่อว่า phpbb_posts จะมี PRIMARY KEY เพียงตัวเดียว
Selection_999(2381).png
Selection_999(2381).png (73 KiB) Viewed 3005 times
2.ต้องการที่จะปรับ `topic_id`, `forum_id`, `poster_id` มาเป็น PRIMARY KEY เพิ่มเติม
3.โดยใช้คำสั่ง SQL ดังนี้

ALTER TABLE `phpbb_posts` DROP PRIMARY KEY, ADD PRIMARY KEY( `post_id`, `topic_id`, `forum_id`, `poster_id`)
Selection_999(2382).png
Selection_999(2382).png (20.75 KiB) Viewed 3005 times

4.ผลลัพธ์ที่ได้
Selection_999(2383).png
Selection_999(2383).png (52.72 KiB) Viewed 3005 times
บทความเพิ่มเติม

วิธีการเขียน SQL สำหรับเปลี่ยน Collation เพื่อปรับเปลี่ยนการรองรับภาษา ใน ตารางฐานข้อมูล
วิธีการเขียน SQL เพื่ม เพิ่มคอลัมน์ ฐานข้อมูล
วิธีการเขียน SQL ลบคอลัมน์ออกจากตารางใน ฐานข้อมูล
ขอให้วันนี้เป็นวันที่ดี
  • Similar Topics
    ตอบกลับ
    แสดง
    โพสต์ล่าสุด

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

สมาชิกกำลังดูบอร์ดนี้: ไม่มีสมาชิกใหม่ และบุคลทั่วไป 38