首页 > 解决方案 > 插入符号在 postgresql 中有什么作用?

问题描述

我正在玩 hackthebox 机器,而目前的机器有一个 postgresql 数据库。查询以 ' 中断,如下所示:

错误:在“'”处或附近未终止的引号字符串第 1 行:选择 * from cars where name ilike '% test' %' ^

我知道 % 用于在查询字符串中搜索提供的字符,但是,^ 用于什么?

粗体突出显示我的测试查询

我所有的搜索都产生了关于正则表达式和插入符号表示字符串开始的结果。加上有关使用 cli 或类似内容的其他结果。

谁能告诉我在查询结束时它在做什么?

标签: postgresqlcaret

解决方案


您正在寻找在错误消息中专门使用插入符号。

如果我运行此查询:

psql -c " Select * from cars where name ilike '%test'%'"

这就是我得到的,保留换行符和空格:

ERROR:  unterminated quoted string at or near "'"
LINE 1:  Select * from cars where name ilike '%test'%'
                                                     ^

插入符号指向上一行发生错误的位置。在这种情况下,这就是从未关闭的开始引号所在的位置。

如果您使用的工具会导致错误消息的格式错误,则应考虑更改为没有错误消息的工具,或者弄清楚如何修复它。


推荐阅读