Ausserhalb von Funktionen kann man die IF Anweisung soweit ich weiß nicht verwenden in MySQL.
mysql> IF EXISTS(SELECT `type` FROM `words` WHERE `wort`= Value(`wort`)) THEN
BEGIN
UPDATE `words`
SET `type` = Value(`type`), `update` = Value(`update`)
WHERE `wort`= Value(`wort`)
END
ELSE
BEGIN
INSERT INTO `words` (`wort`, `type`, `update`)
VALUES ('ich', 'Pronomen', '1418036206')
END
END IF;
1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF EXISTS(SELECT `type` FROM `words` WHERE `wort`= Value(`wort`)) THEN
BEGIN
' at line 1
Quote:
Ausserhalb von Funktionen kann man die IF Anweisung soweit ich weiß nicht verwenden in MySQL.
Quote:
[Only registered and activated users can see links. Click Here To Register...]
Deine erste Zeile ist immer noch falsch.Quote:
Joa ... ich vermute es ist immer noch der selbe Fehler
Code:mysql> IF EXISTS(SELECT `type` FROM `words` WHERE `wort`= Value(`wort`)) THEN BEGIN UPDATE `words` SET `type` = Value(`type`), `update` = Value(`update`) WHERE `wort`= Value(`wort`) END ELSE BEGIN INSERT INTO `words` (`wort`, `type`, `update`) VALUES ('ich', 'Pronomen', '1418036206') END END IF; 1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF EXISTS(SELECT `type` FROM `words` WHERE `wort`= Value(`wort`)) THEN BEGIN ' at line 1
IF (SELECT `type` NOT NULL FROM `words` WHERE `wort`= Value(`wort`)) THEN
BEGIN
UPDATE `words`
SET `type` = Value(`type`), `update` = Value(`update`)
WHERE `wort`= Value(`wort`)
END
ELSE
BEGIN
INSERT INTO `words` (`wort`, `type`, `update`)
VALUES ('ich', 'Pronomen', '1418036206')
END
END IF;
mysql> IF (SELECT `type` NOT NULL FROM `words` WHERE `wort`= Value(`wort`)) THEN
BEGIN
UPDATE `words`
SET `type` = Value(`type`), `update` = Value(`update`)
WHERE `wort`= Value(`wort`)
END
ELSE
BEGIN
INSERT INTO `words` (`wort`, `type`, `update`)
VALUES ('ich', 'Pronomen', '1418036206')
END
END IF;
1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF (SELECT `type` NOT NULL FROM `words` WHERE `wort`= Value(`wort`)) THEN
BEG' at line 1
Was ist das denn?Quote:
Code:SELECT `type` NOT NULL FROM ...
ALTER TABLE `words` ADD UNIQUE `wort_index`(`wort`);
Wenn es sich bei den Werten für wort um prinzipiell eher kurze Daten handelt (z.B. ein einzelnes Wort), wäre der VARCHAR-Typ evtl. vorzuziehen.Quote:
Man kann aber ein UNIQUE nicht auf ein text Type setzen. Und meine wort Spalte ist ein text Type.