Python uses sqlite3 long statement insertion error
Python2.7
The following is the source code, as well as the test results. It is no problem to operate in the terminal, but there is a bug when running in python
import xlrd
import multiprocessing
from sql import sql_method
mysqlite=sql_method()
def table_compare():
query='''select * FROM compare_sales_order WHERE ( compare_sales_order.order_num, compare_sales_order.product_name, compare_sales_order.col_color) not IN(SELECT order_num, product_name, col_color FROM sales_order) '''
# print query
data=mysqlite.conn.execute(query)
for i in data:
print i
table_compare()
Ran 1 test in 0.000s
FAILED (errors=1)
Error
Traceback (most recent call last):
File "C:\Python27\lib\unittest\case.py", line 329, in run
testMethod()
File "C:\Python27\lib\unittest\loader.py", line 32, in testFailure
raise exception
ImportError: Failed to import test module: test
Traceback (most recent call last):
File "C:\Python27\lib\unittest\loader.py", line 254, in _find_tests
module = self._get_module_from_name(name)
File "C:\Python27\lib\unittest\loader.py", line 232, in _get_module_from_name
__import__(name)
File "E:\python\excel_python\test.py", line 14, in <module>
table_compare()
File "E:\python\excel_python\test.py", line 11, in table_compare
data=mysqlite.conn.execute(query)
OperationalError: near ",": syntax error
Enter the original text into the terminal without any problems
给我你的怀抱2017-07-05 10:37:44
There is something wrong with your SQL writing
sql = """
select
*
FROM
compare_sales_order a
WHERE
not exists
(
SELECT
1
FROM sales_order b
where
a.order_num=b.order_num
and a.product_name=b.product_name
and a.col_color=b.col_color
)
"""