python - 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)''')
解决方案
假设一个艺术家可以是许多歌曲的作者,那么这应该是相反的:外键必须在 Song 表上定义并引用 Artist 表。
推荐阅读
- python -
为什么我的 python 代码没有显示按钮? - firebase-realtime-database - 使用 Flutter 监听特定 Firestore 文档中的两个准确(但独立)的字段
- reactjs - Styled-components 使用钩子打破反应控制的形式。有解决办法吗?
- sql-server - 为什么具有 sysadmin 权限的用户无法以 EXECUTE AS 用户身份访问 msdb?
- javascript - JavaScript 函数不适用于整数
- swift - 单击选项卡栏图标时重置 ViewController
- angular - Angular 2+ 阻止用户导航回 Auth0 回调
- single-sign-on - 如何为 SAML Google IDP 预填电子邮件?
- javascript - 在 ejs 模板中显示数据
- mongodb - 在 MongoDB 中,如何将“$expr”与数组一起使用?