datos - ¿Cómo hago para que PyCharm reconozca los marcadores de posición en las declaraciones SQL?
pycharm base de datos (2)
¿Es este SQL en una consola SQL, o en una cadena en un script de Python? Tuve este mismo problema y lo resolví marcando la casilla que se encuentra arriba de la lista de patrones, con la etiqueta "Habilitar en literales de cadena con inyección SQL". Si está haciendo esto en una ventana de la consola SQL, marque la primera casilla.
Como notas de @LazyOne, vaya a Settings/Preferences > Tools > Database > User Parameters
y verá dos casillas de verificación en la parte superior:
Enable in console and SQL files
Enable in string literals with SQL injection
Si bien puede agregar sus propios patrones personalizados, creo que el patrón que coincide con la sintaxis de este parámetro (para mí, los parámetros para psycopg2 para uso en Postgres) está fuera de la caja en Pycharm, el último en la lista.
Vea aquí para referencia:
https://www.jetbrains.com/help/pycharm/2016.1/user-parameters.html
Estoy usando PyCharm y tengo un error en esta declaración SQL:
SELECT * FROM table WHERE id= %(id)s
La inspección de sintaxis de código dice:
<expression> expected, got ''%''
¿Hay alguna manera de deshabilitar este mensaje de error? En otras palabras, ¿cómo hago para que PyCharm reconozca los marcadores de posición en las declaraciones SQL?
Editar
Aquí está mi solución:
Para %(id)s
%s
debes tener %/((/w+)/)s
%s
en Settings/Preferences | Tools | Database | User parameters
Settings/Preferences | Tools | Database | User parameters
Settings/Preferences | Tools | Database | User parameters
y seleccione All languages
no solo SQL
Además de la respuesta de @Nate (el regex incorporado %/((/w+)/)s
funciona para PostgreSQL), he logrado obtener este trabajo solo al reordenar los patrones y mover el regex objetivo a la parte superior de la lista .
También se podría intentar deshabilitar otras reglas y ver si eso ayuda.