Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MySQL

จำเป็นต้องตั้งค่า PRIMARY KEY สำหรับค่า AUTO_INCREMENT หรือไม่


ใช่ ใช้ AUTO_INCREMENT กับ PRIMARY KEY ให้เราสร้างตารางก่อน -

mysql> สร้างตาราง DemoTable( EmployeeId int ไม่ใช่ NULL AUTO_INCREMENT, EmployeeName varchar(40), EmployeeAge int, PRIMARY KEY(EmployeeId), UNIQUE KEY(EmployeeName,EmployeeAge)); Query OK, 0 แถวได้รับผลกระทบ (0.96 วินาที)

ให้เราตรวจสอบคำอธิบายตารางของตาราง -

mysql> อธิบาย DemoTable;

สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -

<ก่อนหน้า>+--------------+-------------+------+----+---- -----+----------------+| สนาม | พิมพ์ | Null | คีย์ | ค่าเริ่มต้น | พิเศษ |+-------------+-------------+------+ -----+----- ----+----------------+| รหัสพนักงาน | int(11) | ไม่ | PRI | NULL | auto_increment || ชื่อพนักงาน | varchar(40) | ใช่ | MUL | NULL | || อายุพนักงาน | int(11) | ใช่ | | NULL | |+-------------+-------------+------+----+------ ---+----------------+3 แถวในชุด (0.17 วินาที)

แทรกระเบียนบางส่วนในตารางโดยใช้คำสั่ง insert -

mysql> แทรกลงในค่า DemoTable(EmployeeName,EmployeeAge) ('Chris',25);Query OK, 1 แถวได้รับผลกระทบ (0.13 วินาที)mysql> แทรกลงในค่า DemoTable(EmployeeName,EmployeeAge) ('Robert',34);แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.11 วินาที)mysql> แทรกลงใน DemoTable(EmployeeName,EmployeeAge) ค่า ('Mike',32);แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.09 วินาที)

แสดงระเบียนทั้งหมดจากตารางโดยใช้คำสั่ง select -

mysql> เลือก *จาก DemoTable;

สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -

<ก่อนหน้า>+------------+--------------+-----------+| รหัสพนักงาน | ชื่อพนักงาน | อายุพนักงาน |+------------+--------------+-----------+| 1 | คริส | 25 || 3 | ไมค์ | 32 || 2 | โรเบิร์ต | 34 |+------------+--------------+-------------+3 แถวในชุด ( 0.00 วินาที)