首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >InternalError:(1242,‘子查询返回多行’)

InternalError:(1242,‘子查询返回多行’)
EN

Stack Overflow用户
提问于 2017-01-03 22:03:49
回答 2查看 60关注 0票数 0

执行此代码时出现内部错误

代码语言:javascript
复制
conn = pymysql.connect(user = 'root', password = '', unix_socket = "/tmp/mysql.sock", database = 'abc' )
cursor = conn.cursor()
 query2 = """INSERT INTO paragraphVector (termId, termFreq, kgram) VALUES ((SELECT termId FROM term WHERE term = %s AND kgram = %s), %s, %s)"""

insertDocVec = [(str(term), str(kgram), tf[kgram][term], str(kgram)) for kgram in tf for term in tf[kgram]]
cursor.executemany(query2, insertDocVec)
conn.commit()
EN

回答 2

Stack Overflow用户

发布于 2017-01-03 22:06:14

更改此设置:

代码语言:javascript
复制
INSERT INTO paragraphVector (termId, termFreq, kgram) VALUES ((SELECT termId FROM term WHERE term = %s AND kgram = %s), %s, %s)

要这样做:

代码语言:javascript
复制
INSERT INTO paragraphVector (termId, termFreq, kgram) SELECT termId, %s, %s FROM term WHERE term = %s AND kgram = %s

并将最后两个参数向左移动

票数 1
EN

Stack Overflow用户

发布于 2017-01-03 22:07:22

你的陈述是错误的。尝试:

代码语言:javascript
复制
INSERT INTO paragraphVector (termId, termFreq, kgram) 

SELECT termId , %s, %s

FROM term WHERE term = %s AND kgram = %s
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41445290

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档