使用Python向MySQL表添加单个键值对
P粉111227898
P粉111227898 2023-09-04 21:36:42
[MySQL讨论组]

我正在尝试从 python 向 mysql 表添加一个值。我已经尝试了大约五种不同的方法,但仍然收到错误消息,指出当我调用插入时,表中的其他键没有传递值。问题是我不想插入任何其他值,只想插入一个特定的键。这是我目前拥有的代码,提前感谢您的帮助

cursor.execute("SELECT * FROM SONG")
        result = cursor.fetchall()
        sname = str(input("What is the name of the song you are looking for: "))
        for row in result:
            title = row[0]
            if(title == sname):
                sql = ("INSERT INTO USER (s_id) VALUES (%s)")
                val = row[1]
                cursor.execute(sql, (val,))

mysql.connector.errors.DatabaseError:1364(HY000):字段“userid”没有 默认值

CREATE TABLE USER
(username   VARCHAR(20),
userid      CHAR(3),
a_id        CHAR(3),
s_id        CHAR(3),
PRIMARY KEY (userid),
FOREIGN KEY (a_id) REFERENCES ALBUM(a_id),
FOREIGN KEY (s_id) REFERENCES SONG(s_id));
CREATE TABLE PLAYLIST
(p_name     VARCHAR(20),
p_id        CHAR(3)         NOT NULL,
userid      CHAR(3),
s_id        CHAR(3),
PRIMARY KEY (p_id),
FOREIGN KEY (userid) REFERENCES USER(userid),
FOREIGN KEY (s_id) REFERENCES SONG(s_id));

P粉111227898
P粉111227898

全部回复(1)
P粉742550377

正确的方法是不使用 python,而只使用 MySQL 查询

sname = str(input("What is the name of the song you are looking for: "))
    sql = ("INSERT INTO USER (s_id) select id from SONG where name= '%s'")
    cursor.execute(sql)

https://www.w3schools.com/sql/sql_insert_into_select.asp

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号