提问者:小点点

MySql更新查询正在删除行


我正在尝试使用query-更新行(删除列str_column中的连字符和连字符后的所有字符)-

UPDATE table_name
SET str_column = SUBSTRING(str_column, 0, LENGTH(str_column) - 2)
WHERE str_column = '561279-1';

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

我不明白,如何更新查询可以删除行??


共1个答案

匿名用户

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

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<>在此拨弄