我无法让参数化的 SQL 语句在名为feeds
.
该表是这样定义的;
CREATE TABLE `feeds` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`last_changed` datetime DEFAULT NULL,
`next` datetime DEFAULT NULL,
`delta` int(11) NOT NULL DEFAULT '0',
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=20 DEFAULT CHARSET=latin1$$
这是 SQL 语句。
更新
feeds
集feeds
。delta
=@0,feeds
.next
=@1,feeds
.last_changed
=@2 其中 id = 19 限制 1
@1
当我尝试使用表达式作为值时,错误出现在参数上。这就是价值。
(2013-05-22 11:58:57 + 间隔 15 分钟)
这会产生以下错误。
MySql.Data.MySqlClient.MySqlException (0x80004005): 不正确的日期时间值: '(2013-05-22 11:58:57 + INTERVAL 15 MINUTE)' for column 'next' at row 1
我尝试将日期时间放在引号中,但这没有帮助。
这就是我在C#
.
ICollection<object> pParameters = ......
MySqlCommand cmd = new MySqlCommand(pSql, conn);
cmd.Prepare();
int i = 0;
foreach (object obj in pParameters)
{
cmd.Parameters.AddWithValue(String.Format("@{0}", i.ToString()), obj);
i++;
}
cmd.ExecuteNonQuery();