【问题标题】:Unexpected TIMESTAMP format in SQL ServerSQL Server 中出现意外的 TIMESTAMP 格式
【发布时间】:2023-03-21 20:45:01
【问题描述】:

我正在尝试使用来自我的 Python 脚本的 INSERT 命令填充我的 time 列,该列是 TIMESTAMP 数据类型。这是我当前的插入代码:

usercount= ("INSERT INTO UserNum(Amount, Network) \
VALUES ('%s', '%s')" % \
(num_user, nets_id["name"]))  

我没有插入 TIMESTAMP 值,因为我相信这是在 INSERT 上自动生成的

但是当我查看 UserNum 表时,时间列由诸如 AAAAAAAAE5U= 之类的值填充,我做错了什么吗?

对此的任何帮助将不胜感激!

【问题讨论】:

  • print(num_user)print(nets_id["name"])
  • print(num_user) 是一个 int,它可以在每次执行时更改,这次它是“144”,而 print(nets_id["name"]) 只是网络名称的字符串,例如“main网络”@TimBiegeleisen
  • sql server 中的时间戳数据类型与时间或日期无关。它更恰当地称为 rowversion,并且该列的值由数据库引擎维护。您为什么关心存储在此列中的值?它有一个目的 - 了解某行是否以某种方式更改。

标签: python sql sql-server timestamp sql-insert


【解决方案1】:

您不需要将参数设为字符串。 Python 处理它。 试试这个:

usercount = "INSERT INTO UserNum(Amount, Network) VALUES (%s, %s)" % (num_user, nets_id["name"])

但请确保它们与您的数据库中的类型相同。

【讨论】:

    猜你喜欢
    • 2020-06-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-09-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-06-24
    相关资源
    最近更新 更多