python sqlite3 長語句插入出錯
曾经蜡笔没有小新
曾经蜡笔没有小新 2017-07-05 10:35:44
0
1
1024

python使用sqlite3 長語句插入出錯
Python2.7
下面是原始碼,還有測試結果,原本本來本在終端機操作是沒問題的,但是在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

原原本本的輸入到終端機沒有任何問題

曾经蜡笔没有小新
曾经蜡笔没有小新

全部回覆(1)
给我你的怀抱

你的SQL寫得有問題

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
    )
"""
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!