背景
编程语言:Python2.7.9
数据库:Oracle
数据库连接库:cx_Oracle
ORA-00911:无效字符
直接在plsql中运行的sql,通过拼接后python中执行报错。
最后检查发现是由于sql语句的末尾加了一个分号:;
去掉分号就好了。
ORA-01722:无效数字
这是由于拼接的时候漏了'
导致的。
比如,原sql如下:
1 | select * from table_1 where id = '1' |
拼接代码如下:
1 | id = '1' |
这样就会报错了,正确的写法应该是:
1 | id = '1' |
ORA-01747: user.table.column, table.column 或列说明无效
这也是出现在一次拼接错误中,错误语句如下:
1 | sql = ''' |
这里的age = 27
后面对了一个,
。
总结
在开发中涉及sql语句拼接的时候,还是要多注意一点,尤其是'
,;
,以及参数等问题,报错的时候,先打印sql语句直接测试一下。