知道为什么我会收到此异常吗?
我创建的表如下所示:
string.Format("CREATE TABLE IF NOT EXISTS `{0}` ( `id` int(11) NOT NULL auto_increment, `CAMXTime` DATETIME ,`Message` LONGTEXT , PRIMARY KEY (`id`));", GlobalVariables.CamxmassagesTable);
插入语句看起来像
string.Format("INSERT INTO `{0}` (`CAMXTime` , `Message`) VALUES (`{1}`,`{2}`);", GlobalVariables.CamxmassagesTable, newNode.Item1, newNode.Item2);
newNode.Item1
来自类型DATETIME
。
newNode.Item2
是一个字符串
。
有什么想法吗?
最佳答案
您应该在值中使用单引号(当然,首先要转义它们)。所以 INSERT
语句应该是:
string.Format(
"INSERT INTO `{0}` (`CAMXTime` , `Message`) VALUES (<b>'{1}','{2}'</b>);", // ` to '
GlobalVariables.CamxmassagesTable,
newNode.Item1<b>.Replace("'", "''")</b>,
newNode.Item2<b>.Replace("'", "''")</b>
);
并不是说您应该使用这种方式执行 SQL 查询也不来转义值,但它稍微好一些。
编辑:使用参数化查询。
关于c# - "Unknown column in ' 字段列表 '"知道为什么我得到它吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6398630/