如何在mysql表的字段中存储sql查询字符串

时间:2012-05-28 15:17:51

标签: mysql

我正在创建一个记录影响数据库的操作的日志表,并将sql语句存储在名为details的字段中。

下面是一个示例查询,我尝试在我的日志表中插入一行,但是我遇到了细节部分的问题,因为我在字段中插入一个查询,mysql将其解释为实际查询和错误的一部分

INSERT INTO `user_log` SET `log_dts`='2012-05-28 15:07:19', `user_id`='4', `details`='UPDATE `property` SET `timedeleted` = '2012-05-28 15:07:19' WHERE `propertyid` IN (1594930)'

如何处理这个问题最好?

感谢。

编辑:要添加,详细信息字段是mysql db中的文本字段。

3 个答案:

答案 0 :(得分:1)

您需要转义字符串中的引号。

请参阅:http://dev.mysql.com/doc/refman/5.5/en/string-literals.html

答案 1 :(得分:0)

您必须在“'”中添加转义字符,只需用查询替换查询中出现的所有'。

答案 2 :(得分:0)

mysql_real_escape_string - d'uh