我一直在追逐一個JSON的bug,並發現如果我從磁盤加載文件以獲取不同的結果,以從db加載(顯然)相同的文件。mysql-存儲json,雙引號轉義問題
Mysql似乎是在偷我的逃生角色。 (我使用VBScript;我的連接字符串Driver={MySQL ODBC 5.1 Driver};Server=localhost;Database=foo;User=foo;Password=f00;Option=3;
)
做一個conn.execute(...)
update courses set config = '{"set": "value in \"here\" ok?"}' where id = 21;
select config from courses where id = 21;
// prints changed value {"set": "value in "here" ok?"}
這是怎麼回事?爲什麼mysql取出我的\"
並將它們變成"
?
如果我在服務器上使用工作臺(windows 2003)並在結果窗格中使用「從文件加載值」功能,我可以將json導入到該字段並保留正確的轉義序列值。但是做一個更新/插入,轉義序列字符是丟失。
哎呀。所以我不能只在文本字段中存儲一個確切的值,並再次獲取相同的值,而不會跳過箍環?我應該堅持使用sqlite。有沒有一個雜注設置來禁用它?有一個設置 - http://dev.mysql.com/doc/refman/5.1/en/sql-mode.html#sqlmode_no_backslash_escapes - 我必須在每個查詢之前執行此操作嗎?這會吸球。 – frumbert