如何让PyCharm识别SQL语句中的占位符?

Jul*_*any 20 code-inspection pycharm

我正在使用PyCharm,我在这个SQL语句上有一个错误:

SELECT * FROM table WHERE id= %(id)s
Run Code Online (Sandbox Code Playgroud)

代码语法检查说:

<expression> expected, got '%'
Run Code Online (Sandbox Code Playgroud)

有没有办法禁用此错误消息?换句话说,如何让PyCharm识别SQL语句中的占位符?

编辑

这是我的解决方案:

对于%(id)s%s你有过%\((\w+)\)s%sSettings/Preferences | Tools | Database | User parameters和选择All languages不仅SQL

小智 23

这个SQL是在SQL控制台中,还是在Python脚本中的字符串中?我有同样的问题并通过选中模式列表上方的框来解决它,标记为"使用SQL注入启用字符串文字".如果您在SQL控制台窗口中执行此操作,请选中第一个框.

正如@LazyOne所说,转到Settings/Preferences > Tools > Database > User Parameters,你会在顶部看到两个复选框:
Enable in console and SQL files
Enable in string literals with SQL injection

虽然您可以添加自己的自定义模式,但我相信匹配此参数语法的模式(对我来说,psycopg2的参数在Postgres中使用)在Pycharm中是开箱即用的,这是列表中的最后一个.

请参阅此处以供参考:https:
//www.jetbrains.com/help/pycharm/2016.1/user-parameters.html