Mysql 将时间戳与其他变量一起插入mariaDB表

Mysql 将时间戳与其他变量一起插入mariaDB表,mysql,timestamp,mariadb,Mysql,Timestamp,Mariadb,我试图将当前时间戳,即now()添加到我的mariadb(SQL)表中,但在终端中运行脚本时出错 此脚本有问题的部分是: cursor.execute("INSERT INTO outdoorsensorstable (time, col2, col3, col4, col5, col6, col7) VALUES (%s, %s, %s, %s, %s, %s, %s)", (now(), '', '', data4, '', data6, '')) (数据4和

我试图将当前时间戳,即
now()
添加到我的mariadb(SQL)表中,但在终端中运行脚本时出错

此脚本有问题的部分是:

cursor.execute("INSERT INTO outdoorsensorstable
     (time, col2, col3, col4, col5, col6, col7)
     VALUES (%s, %s, %s, %s, %s, %s, %s)",
     (now(), '', '', data4, '', data6, ''))
(数据4和数据6是在此之前在我的脚本中生成的变量。)

我得到的错误是:
TypeError:'datetime.datetime'对象不可调用

然后,我尝试通过将
now()
放入如下值段来解决此问题:

cursor.execute("INSERT INTO outdoorsensorstable (time, col2, col3, col4, col5, col6, col7) VALUES (now(), %s, %s, %s, %s, %s, %s)", ('', '', '', data4, '', data6, ''))
但我在运行脚本时遇到另一个错误:

mysql.connector.errors.ProgrammingError: Not all parameters were used in the SQL statement

你知道我为什么以及如何解决这个问题吗?

你的第二次努力几乎是对的;不要为
NOW()
传递任何参数,因为它不是硬编码的参数:

sql = "INSERT INTO outdoorsensorstable (time, col2, col3, col4, col5, col6, col7) "
sql += "VALUES (now(), %s, %s, %s, %s, %s, %s)"
cursor.execute(sql, ('', '', data4, '', data6, ''))

谢谢你的回复。我该怎么做?我尝试删除引号
cursor.execute(“INSERT INTO outdoor sensorstable(time,col2,col3,col4,col5,col6,col7)值(now(),%s,%s,%s,%s)”,(,”,data4',,data6',)
,用于对应于now()的部分,但它给出了另一个值error@Craver2000我重新格式化了我的答案,使它更具可读性。如果不起作用,请再看一眼并发表评论。@Craver2000您运行的代码不是我的答案所说的。要么是你抄错了,要么是打错了。就在我看到你重新编辑的答案之前,我发布了那条评论。我按照你的建议做了更改,现在可以了。非常感谢你的帮助!