首页 > 解决方案 > pymysql - 外键创建表

问题描述

嗨,我在pymysql中创建表时尝试插入外键,但出现错误。这是我的代码:

cur.execute('''CREATE TABLE IF NOT EXISTS artist(id int PRIMARY KEY NOT NULL AUTO_INCREMENT, full_name varchar,
FOREIGN KEY (id) REFERENCES song(artist_id))''')

cur.execute('''CREATE TABLE IF NOT EXISTS Song(id int PRIMARY KEY NOT NULL AUTO_INCREMENT, name varchar,
artist_id int, entry_date timestamp, entry_position int)''') 

标签: pythonpymysql

解决方案


假设一个艺术家可以是许多歌曲的作者,那么这应该是相反的:外键必须在 Song 表上定义并引用 Artist 表。


推荐阅读