2016-10-12 1 views
-1

Я сделал программу transaction.and, если ошибка, он должен сообщить об ошибке позиции. Теперь я хочу, чтобы выбрать значение TRUE, и DELETE значение ИСТИНАPython select data return boolean true-false и DELETE значение true

#!/usr/bin/python 
import mysql.connector 

conn = mysql.connector.connect(host="lll",user="ppp",passwd="ppp",db="ppp") 
cursor = conn.cursor() 

cursor.execute("SELECT(case when user1 = '1' THEN 'true' ELSE 'false' END) AS IsEmtpy from dt") 
print(cursor.fetchall()) 

try: 

    if true: 
     cursor.execute("DELETE FROM dt WHERE user1='1'") 
     print "DELETE SUCESS" 
    else: 
     print "DELETE ERROR" 

     conn.commit() 
except Exception as e: 
     conn.rollback() 
conn.close() 

результат:

File "./splinsert.py", line 13 
    if true: 
    ^
IndentationError: expected an indented block 
+0

Во-первых, Вы должны изменить верно Правда в Ьгу блоке. – Ashiya

+0

Думаю, вместо пробелов будут вкладки. – Ashiya

ответ

1

Эта ошибка связана с несовместимым отступа. Python полагается на отступы, чтобы определить, когда «блоки кода» начинаются и останавливаются. Take a look at this for more details.

попробовать что-то вроде этого:

#!/usr/bin/python 
import mysql.connector 

conn = mysql.connector.connect(host="lll",user="ppp",passwd="ppp",db="ppp") 
cursor = conn.cursor() 

cursor.execute("SELECT(case when user1 = '1' THEN 'true' ELSE 'false' END) AS IsEmtpy from dt") 
print(cursor.fetchall()) 

try: 
    if True: 
    cursor.execute("DELETE FROM dt WHERE user1='1'") 
    print "DELETE SUCESS" 
    else: 
    print "DELETE ERROR" 
    conn.commit() 

except Exception as e: 
    conn.rollback() 

conn.close() 
+0

спасибо, я могу это сделать. –