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

ใส่หมายเลขลำดับใน MySQL?


คุณสามารถแทรกหมายเลขลำดับใน MySQL โดยใช้ตัวแปรเซสชัน ไวยากรณ์มีดังนี้ −

SELECT @anyVariableName − =anyIntegerValue;UPDATE yourTableName SET yourColumnName =@anyVariableName − =@anyVariableName+IncrementStep;

เพื่อให้เข้าใจไวยากรณ์ข้างต้น ให้เราสร้างตาราง แบบสอบถามเพื่อสร้างตารางมีดังนี้ −

mysql> สร้างตาราง SequentialNumberDemo -> ( -> SequentialNumber int ไม่ใช่ null -> ); ตกลง ตกลง 0 แถวได้รับผลกระทบ (0.84 วินาที)

แทรกระเบียนในตารางโดยใช้คำสั่งแทรก แบบสอบถามมีดังนี้ −

mysql> แทรกลงในค่า SequentialNumberDemo (100) แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.11 วินาที) mysql> แทรกลงในค่า SequentialNumberDemo (10) แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.22 วินาที) mysql> แทรกลงในค่า SequentialNumberDemo ( 9); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.15 วินาที) mysql> แทรกลงในค่า SequentialNumberDemo (60); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.11 วินาที) mysql> แทรกลงในค่า SequentialNumberDemo (50); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ ( 0.14 วินาที) mysql> แทรกลงในค่า SequentialNumberDemo (40) แบบสอบถามตกลง ได้รับผลกระทบ 1 แถว (0.13 วินาที)

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

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

ต่อไปนี้เป็นผลลัพธ์ -

<ก่อนหน้า>+-----------------+| SequentialNumber |+-----------------+| 100 || 10 || 9 || 60 || 50 || 40 |+-----------------+6 แถวในชุด (0.00 วินาที)

ดูจากผลลัพธ์ข้างต้น ตัวเลขไม่เรียงตามลำดับ นี่คือการสืบค้นเพื่อให้ได้หมายเลขลำดับที่เริ่มต้นจาก 1 ก่อนอื่น ให้ตั้งค่าลำดับ -

mysql> เลือก @sequence:=0;

ผลลัพธ์ -

<ก่อนหน้า>+--------------+| @sequence:=0 |+--------------+| 0 |+-----------------------+1 แถวในชุด (0.03 วินาที)

ตอนนี้ แบบสอบถามเพื่ออัปเดตและเริ่มลำดับจาก 1 -

mysql> อัปเดต SequentialNumberDemo ตั้งค่า SequentialNumber =@sequence − =@sequence+1; Query OK, 6 แถวได้รับผลกระทบ (0.15 วินาที) แถวที่ตรงกัน − 6 เปลี่ยน − 6 คำเตือน − 0

ตรวจสอบบันทึกตารางอีกครั้ง แบบสอบถามมีดังนี้ −

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

ต่อไปนี้เป็นผลลัพธ์ -

<ก่อนหน้า>+-----------------+| SequentialNumber |+-----------------+| 1 || 2 || 3 || 4 || 5 || 6 |+------------------+6 แถวในชุด (0.00 วินาที)