gpt4 book ai didi

python - 这个 python sql 语句有什么问题

转载 作者:行者123 更新时间:2023-11-29 13:54:31 25 4
gpt4 key购买 nike

我在 mysql 中有一个数据库模式

id  int(11) PK AI
apt_id varchar(200)
checkin_date date
checkout_date date
price decimal(10,0)
deposit decimal(10,0)
adults int(11)
source_id int(11)
confirmationCode varchar(100)
client_id int(11)
booking_date datetime
note mediumtext
Related Tables:property (apt_id → apt_id)
booking_source (source_id → id)

我正在尝试使用以下查询在数据库中插入值

self.start_at = datetime.strptime(self.start_at[0:10] + ' ' + self.start_at[11:19], "%Y-%m-%d %H:%M:%S")
self.end_at = datetime.strptime(self.end_at[0:10] + ' ' + self.end_at[11:19], "%Y-%m-%d %H:%M:%S")
x = db.cursor()
sql = """INSERT INTO `nycaptBS`.`booking` (`apt_id`, `checkin_date`, `checkout_date`, `price`,`deposite` `adults`, `source_id`, `confirmationCode`, `client_id`, `booking_date`) VALUES ('%s','%s','%s','%s','%s','%s','%s','%s','%s','%s' )"""
x.execute(sql,(self.apt_id,self.start_at,self.end_at,self.final_price,self.deposit,self.adults,self.source_id,self.notes,self.client_id,self.booking_date,self.notes))

由于错误本身不清楚

  File "/usr/lib/python2.7/dist-packages/MySQLdb/cursors.py", line 159, in execute
query = query % db.literal(args)
TypeError: not enough arguments for format string

请帮助我解决这个问题。我在 Django ORM 上做了很多工作,但为此我必须在 Mysql 查询中编写。

谢谢

最佳答案

当字符串中有更多格式代码并且传入的参数不足时,会引发此异常:

>>> s = "Hello %s %s %s"
>>> print(s % ('a','b'))
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: not enough arguments for format string

在这里您可以看到我有三个 %s,但我只传递了两个字符串 ('a','b')

您的查询也有同样的问题,因为您缺少逗号:

sql = """
INSERT INTO `nycaptBS`.`booking` (
`apt_id`,
`checkin_date`,
`checkout_date`,
`price`,
`deposite` `adults`, # missing comma here
`source_id`,
`confirmationCode`,
`client_id`,
`booking_date`) VALUES (
'%s', #1
'%s', #2
'%s', #3
'%s', #4
'%s', #5
'%s', #6
'%s', #7
'%s', #8
'%s', #9
'%s' #10
)
"""
x.execute(sql,(
self.apt_id, #1
self.start_at, #2
self.end_at, #3
self.final_price, #4
self.deposit, #5
self.adults, #6
self.source_id, #7
self.notes, #8
self.client_id, #9
self.booking_date, #10
self.notes #11 ))

关于python - 这个 python sql 语句有什么问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16075194/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com