Einzelnen Beitrag anzeigen

Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#6

AW: Frage zu IfNull bei MySQL

  Alt 20. Okt 2014, 15:29
SQL-Code:
DROP TABLE IF EXISTS foo;
CREATE TABLE foo (
   id int(11) NOT NULL DEFAULT '0',
   Wert1 varchar(10) DEFAULT NULL,
   PRIMARY KEY (id)
);

INSERT INTO foo ( id, Wert1 ) VALUES( 1, 'test 1' );
INSERT INTO foo ( id, Wert1 ) VALUES( 2, 'test 2' );
INSERT INTO foo ( id, Wert1 ) VALUES( 3, 'test 3' );
INSERT INTO foo ( id, Wert1 ) VALUES( 4, 'test 4' );

SET @AWert1 = NULL;

UPDATE foo SET Wert1 = IFNULL( Wert1, @AWert1 ) WHERE id = 1;
UPDATE foo SET Wert1 = IFNULL( @AWert1, Wert1 ) WHERE id = 2;

SET @AWert1 = 'updated';

UPDATE foo SET Wert1 = IFNULL( Wert1, @AWert1 ) WHERE id = 3;
UPDATE foo SET Wert1 = IFNULL( @AWert1, Wert1 ) WHERE id = 4;

SELECT * FROM foo;
Heraus kommt (wie auch nicht anders zu erwarten war):
idWert1
1test 1
2test 2
3test 3
4updated
Aus diesem Grund ist
Update <tabelle> SET Wert1=IFNULL(Wert1,AWert1),... wobei Wert1 das Tabellenfeld ist, AWert1 der übergebene Parameter.
einfach nur falsch wenn die das tun soll, wie beschreiben und die Beobachtung passt nicht zu dem angegebenen Statement
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)

Geändert von Sir Rufo (20. Okt 2014 um 15:33 Uhr)
  Mit Zitat antworten Zitat