如何使用like函数删除表记录?

bjp0bcyl  于 2021-08-13  发布在  Java
关注(0)|答案(2)|浏览(310)

我在使用like%函数删除表记录时遇到了一个问题,它不能按照299-1\u b删除表中的行。
我使用下面的示例代码来删除:

DELETE FROM filing_code_management WHERE folder_location LIKE '299-1_B%'
``` `table structure` ```
no|folder_location
-- ------------------------------------
1   299_A/299-1_B/299-1-1_C/299-1-1-1_D
2   299_A/299-1_B
3   300_B/300-1_C
3   299_A/299-1_B/299-1-1_C/299-1-1-2_F
4   299_A/299-1_B/299-1-2_P/299-1-2-1_Q

如果显示结果成功,结果只显示300μb/300-1μc记录。希望有人能指导我哪一部分错了。

ewm0tg9j

ewm0tg9j1#

请使用下面的查询,

DELETE FROM filing_code_management WHERE folder_location LIKE '%299-1_B%'
wqnecbli

wqnecbli2#

我想你应该在字符串的任何地方找到模式:

folder_location LIKE '%299-1_B%'

或者:

folder_location LIKE '299-1_B%' OR folder_location LIKE '%/299-1_B%'

也就是说,您似乎在一个字符串中存储多个值。真糟糕,糟糕,糟糕。您应该有一个单独的表,每个文件夹位置有一行,而不是强制将所有行都放在一个字符串中。

相关问题