Internet: Web-Design

Aufbau von Homepages und Websites

Wie gestaltet und programmiert man eine Homepage oder eine Website? Dieses Forum ist für alle gedacht, die nicht nur surfen, sondern eigene Web-Angebote aufbauen wollen.

6. Juli 2012 08:05

php - MySQL : update geht auf einem fehler

hallo,

ich möchte daten aus einer datei in eine tablle einlegen.
daten, die noch nicht in der tabelle sind, sollen geschrieben werden,
die schon drin sind, sollen bei bedarf ein update erhalten.

wenn nun eine zeile schon vorhanden ist, gibt es ein fehler, dessen
hintergrund ich irgendwie nicht sehen.

wo hakt es?

befehl:
-----------
INSERT INTO datenbank.tabelle ( nummer, open_day, open_time,
target_day, target_time, t_status, assigend_to, beschreibung )
  VALUES ('123456789', '2012-05-18', '19:43:00', '2012-07-20',
'05:50:00', '1',  '0', 'hier kommt ein langer text rein')
  ON DUPLICATE KEY UPDATE target_day = '2012-07-20', target_time =
'05:50:00', t_status = '1', assigend_to = '0'
                   where nummer like '123456789' and target_day <
'2012-07-20' and assigend_to < '0'
------------

es kommt die meldung:

----------------
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 'where nummer like '123456789'' at line 4
----------------
auch, wenn ich die beiden weiteren bedingen beim update weglasse

die datenbank hat den folgenden aufbau:

----------------
CREATE TABLE IF NOT EXISTS `tabelle` (
  `a_index` tinyint(4) NOT NULL AUTO_INCREMENT,
  `nummer` varchar(12) COLLATE utf8_unicode_ci NOT NULL,
  `open_day` date NOT NULL,
  `open_time` time NOT NULL,
  `target_day` date NOT NULL,
  `target_time` time NOT NULL,
  `t_status` tinyint(4) NOT NULL,
  `assigned_to` tinyint(4) NOT NULL,
  `beschreibung` varchar(500) COLLATE utf8_unicode_ci NOT NULL,
  `zusammenfassung` varchar(200) COLLATE utf8_unicode_ci NOT NULL
DEFAULT '""',
  `geschlossen` tinyint(1) NOT NULL DEFAULT '0',
  `myCSM` varchar(30) COLLATE utf8_unicode_ci NOT NULL DEFAULT '""',
  PRIMARY KEY (`a_index`),
  UNIQUE KEY `nummer` (`nummer`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci
AUTO_INCREMENT=0 ;


heise online Themen