Hallo,
ich versucher krampfhaft diesen Datensatz zu löschen
delete from productref WHERE productref_item ILIKE 'E:\Daten\Eigene Bilder\Bilder - Kunst\Pilze\DSC00909.JPG' AND product_id =1;
ich bekomme diese Meldung:
WARNING: nonstandard use of escape in a string literal
ZEILE 1: ...elete from productref WHERE productref_item ILIKE 'E:\Daten\...
^
TIP: Use the escape string syntax for escapes, e.g., E'\r\n'.
Abfrage war erfolgreich durchgeführt: 0 Zeilen, 31 ms Ausführungszeit.
ich finde nicht viel Information, wie ich das mit der escape string syntax hinbekomme.
test=# create table forum(id int, t text);
CREATE TABLE
test=*# insert into forum values (1, 'e:\\foo\\bar');
INSERT 0 1
test=*# insert into forum values (2, 'f:\\foo\\bar');
INSERT 0 1
test=*# delete from forum where id=1 and t = 'e:\\foo\\bar';
DELETE 1
test=*# delete from forum where id=2 and t ilike 'f:\\\\foo\\\\bar';
DELETE 1
test=*#
Hint: bei ilike wird ein Regex erwartet, da hat das Backslash eine gesonderte Funktion. In einem String muß man es daher nur einmal quoten, bei einem Regex dann halt wie oben.
ist es möglic einer Anweisung zu schreiben die eine bestehende Tabelle aktuallisiert (z.B.)hinzufügen/ändern einer Spalte) und wenn es diese Tabelle noch nicht gibt, hinzufügen. Sowas wie ALTER OR CREATE Tabelle …