MySql 更新查询正在删除行

MySql Update Query is Deleting Rows

我正在尝试使用查询 -

更新行(删除连字符并在连字符后删除列 str_column 中的所有字符)
UPDATE table_name
SET str_column = SUBSTRING(str_column, 0, LENGTH(str_column) - 2)
WHERE str_column = '561279-1';

但上面的查询是删除匹配的行而不是更新。

我无法理解,更新查询如何删除行??

子字符串必须以 1 而不是 0 开头

manual中写得很清楚

A value of 0 for pos returns an empty string.

示例:

CREATE tABLE table_name (str_column varchar(20))
INSERT INTO table_name VALUES ('561279-1')
UPDATE table_name
SET str_column = SUBSTRING(str_column, 1, LENGTH(str_column) - 2)
WHERE str_column = '561279-1';
SELECT * FROM table_name
| str_column |
| :--------- |
| 561279     |

db<>fiddle here