Autor | Zpráva | ||
---|---|---|---|
bartek Profil |
#1 · Zasláno: 20. 1. 2014, 17:40:15
Zdravim,
používáme program SymmetricDS,který pomocí replikací dat propojuje různé servery a posílá mezi sebou data. Nově zkoušíme použít MySQL,se kterým nemáme zkušenosti. Uvedený program vytvoří pro svou komunikaci sadu tabulek a triggerů. Následně triggery nejdou přeložit. Separací textu z vytvořeného triggeru jsem našel, v čem je problém, že nejde trigger přeložit. select replace('new.autoincr','\','\\') Tedy funkce mysql "replace", nahrazení "lomítka", "escapovaným lomítkem". Pokud jsem tento dotaz zkusil samostatně v MySQL přes Views, také nefunguje. Jelikož SymmetricDS je celosvětově používaný program,předpokládám,že tento zápis je v pořádku. Tedy,je někde možné v rámci MySQL (settings,ini soubor apod) nastavit nějakou vlastnost,aby výše uvedený dotaz s replace zafungoval? Děkuji za jakoukoliv reakci M.Klinger |
||
Alphard Profil |
#2 · Zasláno: 20. 1. 2014, 17:47:38
Už to první \ rozbije ukončení řetězce, je třeba zdvojit \\. A nahrazovat tedy asi za \\\\. Pokud chcete, aby se z \ stalo \\.
|
||
bartek Profil |
#3 · Zasláno: 21. 1. 2014, 10:10:08
Děkuji za odpověď. Zeptám se možná hloupě,ale nějaká možnost nastavení MySQL tak,aby brala ten první případ,tj.
select replace('new.autoincr','\','\\') neexistuje? Jak jste psal,zdvojení lomítek pomůže,ale zdá se mě "divné",že SW SymmetriDS by triggery zapsal explicitně již s chybou. |
||
Kajman Profil |
#4 · Zasláno: 21. 1. 2014, 10:17:35
bartek:
„nastavení MySQL tak,aby brala ten první případ“ http://dev.mysql.com/doc/refman/5.5/en/server-sql-mode.html#sqlmode_no_backslash_escapes |
||
bartek Profil |
#5 · Zasláno: 22. 1. 2014, 08:34:43
Vyřešeno.
Děkuji za přesnou a rychlou radu,to bylo přesně to,co jsem hledal. |
||
Časová prodleva: 11 let
|
0