首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >有关此错误的背景信息,地址: http://sqlalche.me/e/9h9h

有关此错误的背景信息,地址: http://sqlalche.me/e/9h9h
EN

Stack Overflow用户
提问于 2020-06-10 21:14:53
回答 3查看 5.2K关注 0票数 0

我目前还不熟悉编程,所以问题是我无法将csv文件导入到我的PostgreSQL数据库中,下面是我的代码:

导入os导入csv

代码语言:javascript
复制
from sqlalchemy import create_engine
from sqlalchemy.orm import scoped_session, sessionmaker

engine = create_engine(os.getenv("DATABASE_URL"))
db = scoped_session(sessionmaker(bind=engine))

def main():
    b = open("books.csv")
    reader = csv.reader(b)
    for isbn, title, author, year in reader:
        db.execute("INSERT INTO books1(isbn, title, author, year) VALUES(:isbn, :title, :author, 
         :year)",
                {"isbn":isbn, "title":title, "author":author, "year":year})

    print(f"{isbn} Added to {title} ")
db.commit()


if __name__ == "__main__":
    main()

错误显示为

代码语言:javascript
复制
[SQL: INSERT INTO books1(isbn, title, author, year) VALUES(%(isbn)s, %(title)s, %(author)s, % 
(year)s)]
[parameters: {'isbn': 'isbn', 'title': 'title', 'author': 'author', 'year': 'year'}]
(Background on this error at: http://sqlalche.me/e/9h9h)

有人能帮我..。拜托!

EN

回答 3

Stack Overflow用户

发布于 2020-08-08 07:22:31

尝试用(`)或可能(‘’)替换双引号(")。

这似乎是我遇到过的类似问题:

代码语言:javascript
复制
sql_string = "SELECT a.'ID' From table1 a " (throws below error)
vs
sql_string = "SELECT a.`ID` From table1 a " (executes properly)
代码语言:javascript
复制
ProgrammingError: (pymysql.err.ProgrammingError) (1064, "You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''ID' From table1 a' at line 1")
[SQL: SELECT a.'ID' From table1 a ]

(有关此错误的背景信息:http://sqlalche.me/e/f405)

票数 0
EN

Stack Overflow用户

发布于 2021-04-10 17:07:41

我想你不再试图找到解决这个问题的方法了。

然而,for 1618的回应使我找到了解决我的问题的办法。

似乎我创建了此错误:(此错误的背景位置为:http://sqlalche.me/e/14/9h9h)

当我将数据输入到要求不同数据类型的列中时。

下面的这些列在输入以下相关数据时创建了错误:

代码语言:javascript
复制
Role =        Column(String(32))
Name =        Column(String(32))
Comment =     Column(String(1024))
Context =     Column(String(1024))
Engine =      Column(String(32))
Tokens =      Column(Integer)
Temp =        Column(Float)
Top_P =       Column(Float)
Stop  =       Column(String(32))
Pres_Pen =    Column(Float)
Freq_Pen =    Column(Float)
Echo =        Column(String(32))
N =           Column(Integer)
Stream =      Column(String(32))
Logprobs =    Column(Integer)
Best_Of =     Column(Integer)
Logit_Bias =  Column(Integer)

"Role": "Test_Role", 
"Name": "Test_Name", 
"Comment": "Test_Comment", 
"Context": "message", 
"Engine": "engine", 
"Tokens": 64, 
"Temp": 0.1, 
"Top_P": 0.1, 
"Stop": "[\n]", 
"Pres_Pen": 0.1, 
"Freq_Pen": 0.1, 
"Echo": "string", 
"N": 1, 
"Stream": "string", 
"Logprobs": 1, 
"Best_Of": 1, 
"Logit_Bias": 1

将我的数据更改为:

代码语言:javascript
复制
Role =        Column(String(32))
Name =        Column(String(32))
Comment =     Column(String(32))
Context =     Column(String(32))
Engine =      Column(String(32))
Tokens =      Column(String(32))
Temp =        Column(String(32))
Top_P =       Column(String(32))
Stop  =       Column(String(32))
Pres_Pen =    Column(String(32))
Freq_Pen =    Column(String(32))
Echo =        Column(String(32))
N =           Column(String(32))
Stream =      Column(String(32))
Logprobs =    Column(String(32))
Best_Of =     Column(String(32))
Logit_Bias =  Column(String(32))

"Role": "Test_Role", 
"Name": "Test_Name", 
"Comment": "Test_Comment", 
"Context": "message", 
"Engine": "engine", 
"Tokens": "64", 
"Temp": "0.1", 
"Top_P": "0.1", 
"Stop": "None", 
"Pres_Pen": "0.1", 
"Freq_Pen": "0.1", 
"Echo": "False", 
"N": "1", 
"Stream": "False", 
"Logprobs": "1", 
"Best_Of": "1", 
"Logit_Bias": "{}"

数据成功地输入到数据库。

我相信这个错误可能意味着其他的事情。但是,它似乎解决了我的问题。

票数 0
EN

Stack Overflow用户

发布于 2021-12-17 09:30:52

我也遇到了这个问题(关于这个错误的背景是:https://sqlalche.me/e/14/9h9h),但原因不同。

当我更改字符串的长度限制(Hashed_password)时,如下所示:

类用户(基本):hashed_password =列(String(32),nullable=False)

hashed_password =列(String(128),nullable=False)

没有错误

原因是"len(hashed_password)"=61,即> 32,和128 > 61,这是可以的。

我的英语很差,希望你能理解我说的话。

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

https://stackoverflow.com/questions/62313254

复制
相关文章

相似问题

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