我正在学习如何在python中使用sqlite3.我正在遵循的教科书中的示例是一个数据库,其中每个国家/地区记录都有一个Region,Country和Population.
这本书说:
以下代码段使用CONSTRAINT关键字指定正在创建的表中没有两个条目对区域和国家/地区具有相同的值:
>>> cur.execute('''
CREATE TABLE PopByCountry(
Region TEXT NOT NULL,
Country TEXT NOT NULL,
Population INTEGER NOT NULL,
CONSTRAINT Country_Key PRIMARY KEY (Region, Country))
''')
Run Code Online (Sandbox Code Playgroud)
请问你能解释一下CONSTRAINT Country_Key这里有什么.如果我删除它,单独的PRIMARY KEY语句似乎确保每个国家/地区都有该区域的唯一名称.
Mat*_*nes 12
Country_key只是为约束命名.如果您不这样做,将为您生成名称.当表上有多个约束并且您需要删除其中一个时,这很有用.
作为删除约束的示例:
ALTER TABLE PopByCountry DROP CONSTRAINT Country_Key
Run Code Online (Sandbox Code Playgroud)