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

เกิดอะไรขึ้นถ้าตำแหน่งการแทรกในฟังก์ชัน INSERT() ของ MySQL อยู่นอกช่วง

พฤติกรรมของฟังก์ชัน INSERT() เมื่อตำแหน่งอยู่นอกช่วง

ฟังก์ชัน INSERT() ของ MySQL จะไม่ทำการแทรกข้อความใดๆ หากตำแหน่งการแทรก (position) อยู่นอกช่วงที่กำหนด กรณีที่ตำแหน่งอยู่นอกช่วงได้แก่:

  • ค่าติดลบ (negative value)
  • ค่าเป็นศูนย์ (zero)
  • ค่าเกินจำนวนตัวอักษรของสตริงต้นฉบับมากกว่า 1 ตำแหน่ง

ตัวอย่าง

กรณีที่ 1: ตำแหน่งเป็นค่าติดลบ

mysql> Select INSERT('Virat', -1, 5, 'Kohli');
+-------------------------------+
| INSERT('Virat', -1, 5, 'Kohli') |
+-------------------------------+
| Virat                         |
+-------------------------------+
1 row in set (0.00 sec)

กรณีที่ 2: ตำแหน่งเป็นศูนย์

mysql> Select INSERT('Virat', 0, 5, 'Kohli');
+------------------------------+
| INSERT('Virat', 0, 5, 'Kohli') |
+------------------------------+
| Virat                        |
+------------------------------+
1 row in set (0.00 sec)

กรณีที่ 3: ตำแหน่งเกินความยาวสตริงมากกว่า 1

สตริง 'Virat' มีความยาว 5 ตัวอักษร แต่ระบุตำแหน่งเป็น 7 จึงไม่มีการแทรกเกิดขึ้น

mysql> Select INSERT('Virat', 7, 5, 'Kohli');
+------------------------------+
| INSERT('Virat', 7, 5, 'Kohli') |
+------------------------------+
| Virat                        |
+------------------------------+
1 row in set (0.00 sec)