如果 MySQL INSERT() 函数中的插入位置超出范围,会发生什么情况?
mysqlmysqli database更新于 2025/5/20 17:48:17
如果插入位置超出范围,MySQL INSERT() 函数将不执行插入。当我们传递负值或 0(零)值,或者值超出原始字符串中字符总数的值 2 时,插入位置可能超出范围。可以借助以下示例来理解 −
示例
以下查询将不执行插入,因为插入位置超出范围,即为负值。
mysql> Select INSERT('Virat', -1,5,'Kohli');
+-------------------------------+
| INSERT('Virat', -1,5,'Kohli') |
+-------------------------------+
| Virat |
+-------------------------------+
1 row in set (0.00 sec)
下面的查询将不执行插入,因为插入位置超出范围,即 0(零)。
mysql> Select INSERT('Virat', 0,5,'Kohli');
+---------------------------+
| INSERT('Virat', 0,5,'Kohli') |
+---------------------------+
| Virat |
+------------------------------+
1 row in set (0.00 sec)
下面的查询将不执行插入,因为插入的位置超出范围,即超出原始字符串中字符数的值 2。在下面的示例中,原始字符串"Virat"有 5 个字符,我们给出的位置值为 7,因此不会发生插入。
mysql> Select INSERT('Virat', 7,5,'Kohli');
+------------------------------+
| INSERT('Virat', 7,5,'Kohli') |
+------------------------------+
| Virat |
+------------------------------+
1 row in set (0.00 sec)
相关文章
有用资源
mysql 参考教程 - 该教程包含有关 mysql 的更多信息:https://www.cainiaomax.com/mysql/

