【问题标题】:SQLITE: Error while executing SQL query on database 'database': row value misusedSQLITE:在数据库“数据库”上执行 SQL 查询时出错:行值被滥用
【发布时间】:2017-07-25 17:22:08
【问题描述】:

我在 Windows 应用程序中使用 SQlite(使用 Visual C# 完成);在向表中插入列时出现以下错误:

对数据库“数据库”执行 SQL 查询时出错:行值被滥用

以下是我的插入查询:

INSERT INTO d_logindetails (userid,registration_no,logintime,expected_logout,machinesno,is_uploaded)VALUES (234,'1233',CURRENT_TIMESTAMP,(CURRENT_TIMESTAMP,'+60 minutes'),'s12452',0);

【问题讨论】:

    标签: sqlite system.data.sqlite


    【解决方案1】:

    '+60 minutes' 只是一个字符串。

    当与built-in date/time functions 一起使用时,它被解释为修饰符。 所以要进行这个计算,你必须调用这样一个函数:

    INSERT ... VALUES (..., CURRENT_TIMESTAMP, datetime('now', '+60 minutes'), ...);
    

    【讨论】:

      【解决方案2】:

      我猜这是您拥有以下内容的部分:

      (CURRENT_TIMESTAMP,'+60 minutes')
      

      我个人会这样做:

      dateadd(HOUR, 1, getdate())
      

      【讨论】:

        猜你喜欢
        • 2021-08-03
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多