如何检查表中是否存在字段。我需要一个if声明,我相信这样做。
如果行中的字段包含相同的数据,我不想将数据插入到行中。
所以例如我有一个包含6行的表。前缀,code_id,answer,station_id,timestamp,comport。
用户将通过控制台输入station_id,并在一行中输入前缀code_id和answer。我将它分成三个变量并将它们存储在数据库中。
cursor.execute("""INSERT INTO scan (prefix, code_id, answer, station_id,timestamp,comport) VALUES(%s, %s, %s, %s, %s, %s)""",(prefix, code_id, answer, station, timestamp,station))
但在此insert语句之前,我想查看用户输入的数据是否已在表中。
我希望我足够清楚。如果没有让我知道,我将编辑问题。
编辑:我试了这个没有运气
#test if fields exist before inserting!
query = cursor.execute("""SELECT count(*) FROM scan WHERE prefix = %s and code_id = %s and answer = %s and station_id = %s""",
(prefix, code_id, answer, station,))
if query != 1:
cursor.execute("""INSERT INTO scan (prefix, code_id, answer, station_id,timestamp,comport) VALUES(%s, %s, %s, %s, %s, %s)""",
(prefix, code_id, answer, station, timestamp,station))
print 'Thank you for checking into station: ', station ,'please wait for the beep
答案 0 :(得分:3)
如果您想查看表中是否已满足条件的数据,那么您只需查询它:
在伪代码中
if "select count(*) from scan where prefix = ? and code_id = ? and ..." == 0:
execute("insert into scan....")