pymysql - 创建外键 TABLE

pymysql - FOREIGN KEY CREATE TABLE

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

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)''') 

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

对于名称和全名列,您应该将大小添加为 varchar(10) 或其他内容。 另一个错误是您尝试将 id 用作艺术家 table 中的主键和外键 为此,请参阅此 Whosebug question