我正在创建一个Python程序,用于使用闪存卡方法学习新单词。为此,我需要一个SQL数据库,其中表是一对语言。当用户正确回答时,单词对的值增加1,但不应超过4。如何限制相应列的最大值?
我想用sqlite3把这个规则写入数据库本身。当然,最大值可以在Python端设置,但这会使代码相当复杂。
事实上,我试着谷歌它,但找不到正确的答案。到目前为止,创建字典的函数是:
def create_dictionary ():
lang1 = input('Insert first language: ')
lang2 = input('Insert second language: ')
dict_name = (lang1 + "_" + lang2)
cur = conn.cursor()
cur.execute('''CREATE TABLE IF NOT EXISTS {tab}
(id INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT UNIQUE,
{word1} TEXT UNIQUE,
{word2} TEXT UNIQUE,
box12 INTEGER,
box21 INTEGER);'''.format(tab = dict_name, word1 = lang1, word2 = lang2))
print("Table created successfully")
conn.commit()
cur.close()
1条答案
按热度按时间l0oc07j21#
基本上有两种方法。
1.列约束:您可以对列设置约束,以确保只允许特定范围内的值。当使用这种方法时,你的python函数应该抛出一个错误,它的值超过了限制。
1.应用逻辑:您可以将自己的逻辑添加到API中,以确保该值不超过4。