Computer >> Máy Tính >  >> Lập trình >> MySQL

Điều gì xảy ra nếu vị trí chèn, trong hàm MySQL INSERT (), nằm ngoài phạm vi?

Hàm INSERT () của MySQL không thực hiện chèn nếu vị trí chèn nằm ngoài phạm vi. Vị trí của phần chèn có thể nằm ngoài phạm vi trong trường hợp chúng tôi chuyển một giá trị âm hoặc 0 (không) hoặc giá trị vượt quá giá trị của tổng số ký tự trong một chuỗi ban đầu bằng 2. Điều này có thể được hiểu với sự trợ giúp trong ví dụ sau -

Ví dụ

Truy vấn bên dưới sẽ không thực hiện chèn vì vị trí chèn nằm ngoài phạm vi, tức là một giá trị âm.

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

Truy vấn bên dưới sẽ không thực hiện chèn vì vị trí chèn nằm ngoài phạm vi, tức là 0 (không).

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

Truy vấn dưới đây sẽ không thực hiện chèn vì vị trí chèn nằm ngoài phạm vi, tức là vượt quá giá trị của một số ký tự trong chuỗi ban đầu bằng 2. Trong ví dụ dưới đây, chuỗi gốc 'Virat' có 5 ký tự và giá trị của vị trí mà chúng tôi đưa ra là 7 do đó không xảy ra hiện tượng chèn.

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