相关疑难解决方法(0)

SQL UPDATE中的str_replace?

这是一个示例表:

name       |   picture

John S.    |   http://servera.host.com/johns.png
Linda B.   |   http://servera.host.com/lindab.png
...
Run Code Online (Sandbox Code Playgroud)

比方说有几百条记录.

我们还说我们将服务器从"servera"转移到"serverb".

是否可以通过一个查询进入此表,以重命名"picture"列中的内容,以便每条记录读取正确的服务器名称?

mysql sql string

44
推荐指数
2
解决办法
8万
查看次数

使用字符串替换的Django批量更新

我正在尝试更新和修改字符串字段Django的ORM.执行此操作的等效SQL是:

UPDATE example_table SET string_field = REPLACE(string_field, 'old text', 'new text');
Run Code Online (Sandbox Code Playgroud)

随着该查询,我希望old textold text more text对被替换new text,并new text more text分别在所有条目string_field列.

批量更新()似乎很有希望,但不允许我只修改字段的一部分,而F()表达式只实现数字更改,而不是字符串替换.我还看了使用原始查询来运行上面的SQL,但这似乎是一个横向黑客(特别是因为F()存在以对数字执行相同的功能),我无法让它们实际执行.

我最终得到了这个,但是当我知道有一行SQL语句来执行所有额外的查询时,这似乎是一种耻辱.

for entry in ExampleModel.objects.all():
    entry.string_field = entry.string_field.replace('old text', 'new text', 1)
    entry.save()
Run Code Online (Sandbox Code Playgroud)

这个功能在Django的ORM中不存在用于字符串吗?我在文档中忽略了什么吗?

相关的SO问题:

python django django-orm

16
推荐指数
2
解决办法
5443
查看次数

如何删除mysql中的部分字符串?

在我的数据库的一个表中,我有一些看起来像这样的字符串:

sometext-othertext
Run Code Online (Sandbox Code Playgroud)

如何删除包含带有SELECT语句的文本的文本,所以结果只是sometext

mysql

14
推荐指数
3
解决办法
4万
查看次数

标签 统计

mysql ×2

django ×1

django-orm ×1

python ×1

sql ×1

string ×1