“如何维护”;而";Python中的循环?

“如何维护”;而";Python中的循环?,python,sql,Python,Sql,我需要一个简单的python脚本,它将在触发器上从MSSQL数据库获取数据,然后将数据发送到电报。我的问题是,在SQL触发器工作之前,我无法编写适当的while循环来保持它。这是密码 import pymssql conn = pymssql.connect(server='serv', user='user', password='pwd', database='DB') cursor = conn.cursor() print('connection success') # Select Q

我需要一个简单的python脚本,它将在触发器上从MSSQL数据库获取数据,然后将数据发送到电报。我的问题是,在SQL触发器工作之前,我无法编写适当的while循环来保持它。这是密码

import pymssql
conn = pymssql.connect(server='serv', user='user', password='pwd', database='DB')
cursor = conn.cursor()
print('connection success')
# Select Query
print('Reading data from table')
with conn.cursor() as cursor:
   
    row = str(0)
    while row == 0:
        cursor.execute("""
            CREATE TRIGGER Server_enter
            ON pLogData
            AFTER INSERT
                   AS SELECT [TimeVal],[Remark],[Name],[FirstName]
                                 FROM [data1]
                                 INNER JOIN [data2]
                                    ON [ID]=[ID]
                                    WHERE [Remark] LIKE '%server%' """)
        row = cursor.fetchone()
        print(str(row[0]) + " " + str(row[1]) + " " + str(row[2]) + " " + str(row[3]))
现在写我“从表中读取数据”的过程结束了。
如何进行适当的循环?

问题在于如何设置循环。你有:

row = str(0)
while row == 0:
    # code
但是,字符串
“0”
不等于整数
0
,因此循环将永远不会执行,并将被跳过

您将在后续迭代中遇到类似的问题,因为
fetchone
不返回
0
当没有可用数据时,它返回
None
。循环条件应基于以下条件:

row = None
while row is None:

您正在设置
row=str(0)
,然后检查
row==0
。这将是错误的,并且您的循环将永远不会执行<代码>“0”!=0。