MySql更新查询正在删除行

MySql更新查询正在删除行,mysql,sql-update,sql-delete,aws-aurora-serverless,Mysql,Sql Update,Sql Delete,Aws Aurora Serverless,我正在尝试使用查询更新行(删除连字符,并在连字符后删除列stru列中的所有字符)- UPDATE table_name SET str_column = SUBSTRING(str_column, 0, LENGTH(str_column) - 2) WHERE str_column = '561279-1'; 但上面的查询是删除匹配的行,而不是更新 我无法理解更新查询如何删除行???子字符串必须以1开头,而不是以0开头 在合同中明确规定 pos的值为0时返回空字符串 例如: |stru柱|

我正在尝试使用查询更新行(删除连字符,并在连字符后删除列stru列中的所有字符)-

UPDATE table_name
SET str_column = SUBSTRING(str_column, 0, LENGTH(str_column) - 2)
WHERE str_column = '561279-1';
但上面的查询是删除匹配的行,而不是更新


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

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

在合同中明确规定

pos的值为0时返回空字符串

例如:

|stru柱| | :--------- | | 561279 |
dbfiddle

此查询从表中选择行。它不删除也不更新任何内容。抱歉,添加了错误的查询。我得到了它,但如果我使用的是从0索引开始的子字符串函数,则str_列应设置为null(或空字符串),而不是删除行。对??它返回一个空字符串。我用链接添加了这些信息,别忘了
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 |