从COLUMN_DEFAULT

时间:2018-06-19 05:29:06

标签: javascript mysql node.js escaping

我正在创建一个包含引号和斜杠的默认值的表字段,例如:

;:'",./\?<`>

当我在没有指定该字段的情况下创建新记录时,它按预期工作 - 它获得与我可以使用SQL select所需的完全相同的值:

;:'",./\?<`>

但是当我直接从系统db.table.field information_schema.COLUMNS.COLUMN_DEFAULT读取默认值时,我得到了转义值:

;:''",./\\?<`>'

注意,'加倍''\还有一个转义斜杠\\

所以我想知道,这个逃脱是如何被调用的,我怎样才能解开它并获得原始价值?这样的事情是否足够?

val = val.replace("''", "'").replace("\\\\", "\\");

作为问题的补充:我正在nodejs写我的应用程序,所以如果有人碰巧知道一个可以帮助我解决问题的程序包,我会非常感激。

0 个答案:

没有答案