MariaDB从UPDATE查询中的字符串中删除反斜杠

时间:2018-08-21 19:21:52

标签: mariadb

使用MariaDB 10.3进行非常基本的查询时遇到问题。我正在使用以下代码更新数据库中的数千条路径:

var L;

var initialCoordinates = [-14.91, -43.20];
var initialZoomLevel = 4;

// create a map in the "map" div, set the view to a given place and zoom
map = L.map('heatmap').setView(initialCoordinates, initialZoomLevel);

L.map('map', {
    crs: L.CRS.EPSG4326
});

// add an OpenStreetMap tile layer
// L.tileLayer('https://cartodb-basemaps-{s}.global.ssl.fastly.net/light_all/{z}/{x}/{y}{r}.png', {
//   attribution: '&copy; <a href="http://www.openstreetmap.org/copyright">OpenStreetMap</a> &copy; <a href="http://cartodb.com/attributions">CartoDB</a>',
//   maxZoom: 19
// }).addTo(map);

L.tileLayer('https://stamen-tiles-{s}.a.ssl.fastly.net/toner-lite/{z}/{x}/{y}{r}.{ext}', {
    attribution: 'Map tiles by <a href="http://stamen.com">Stamen Design</a>, <a href="http://creativecommons.org/licenses/by/3.0">CC BY 3.0</a> &mdash; Map data &copy; <a href="http://www.openstreetmap.org/copyright">OpenStreetMap</a>',
    subdomains: 'abcd',
    minZoom: 0,
    maxZoom: 18,
    ext: 'png'
}).addTo(map);

// [[5.32, -28.95], [-33.1999, -73.9]]
var imageUrl = '/images/temperatureMapDefault.png', //temperatureMapDefault.png
    imageBounds = [[5.32, -28.95], [-33.1999, -73.9]]; // [[ymin, xmin][ymax, xmax]]
L.imageOverlay(imageUrl, imageBounds).addTo(map);

,它用字符串填充UPDATE il1_il8_localisation i SET i.`IL_17_CODE_PHOTO_1`="..\IPB\Photos\Foto1_261_ 3837.jpg" WHERE i.`IQ_1_NUMERO_DU_QUESTIONNAIRE`= 261; IL_17_CODE_PHOTO_1代替..IPBPhotosFoto1_ 261_ 3837.jpg

我试图将数据结构从..\IPB\Photos\Foto1_ 261_ 3837.jpg更改为varchar(120),但没有结果。

1 个答案:

答案 0 :(得分:2)

MariaDB uses the backslash character (\) as an escape character.来自链接的文章:

  

反斜杠(\),如果不用作转义字符,则必须始终转义。如果后面跟随的字符不是[有效的转义序列],则反斜杠只会被忽略。

将每个单反斜杠替换为双反斜杠(以转义转义字符):

UPDATE il1_il8_localisation i SET i.IL_17_CODE_PHOTO_1="..\\IPB\\Photos\\Foto1_ 261_ 3837.jpg" WHERE i.IQ_1_NUMERO_DU_QUESTIONNAIRE= 261;