Python:检查表中是否存在字段

时间:2011-07-01 14:28:07

标签: python mysql

如何检查表中是否存在字段。我需要一个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

1 个答案:

答案 0 :(得分:3)

如果您想查看表中是否已满足条件的数据,那么您只需查询它:

在伪代码中

if "select count(*) from scan where prefix = ? and code_id = ? and ..." == 0:
    execute("insert into scan....")