ziegenmelker: UPDATE / invertieren einer col in MYSQL

Beitrag lesen

CREATE TABLE plaetze (
  id bigint(20) NOT NULL auto_increment,
  sektor tinyint(3) default NULL,
  reihe tinyint(3) default NULL,
  platz tinyint(3) default NULL,
  stat char(1) NOT NULL default '0',
  datum datetime default NULL,
  event varchar(255) default NULL,
  PRIMARY KEY  (id)
) TYPE=MyISAM ROW_FORMAT=DYNAMIC

wie sich erkennen lässt ne kontingentgschichte... die query invertiert den stat - der angibt ob ein platz frei ist oder nicht. ich habs auch schon mit anderen indizes versucht - auch ohne auto_increment. hilft alles nix. sobald ich für mein gegenwertiges beispiel eine ganze "reihe" (22 Plätze - deswegn auch des limit) invertiern will macht er dies nicht immer. die steuerung der querys funktioniert über ein php/javascript frontend in dem auch die einzelplatzfreigabe erfolgt - die ohne jedes problem abläuft.

stef

Also ich habe hier eine fast identische Tabelle angelegt:
CREATE TABLE sektors (
  sektor\_id bigint(20) unsigned NOT NULL auto_increment,
  sektor int(10) unsigned NOT NULL default '0',
  reihe int(10) unsigned NOT NULL default '0',
  platz int(10) unsigned NOT NULL default '0',
  stat tinyint(3) unsigned NOT NULL default '0',
  timestamp timestamp(14) NOT NULL,
  PRIMARY KEY  (sektor\_id),
  UNIQUE KEY sektor\_idx (sektor,reihe,platz)
) TYPE=MyISAM ROW_FORMAT=DYNAMIC;

Ein Update mittels
update sektors set stat=1-stat limit 22
funktioniert völlig problemlos, wäre auch schlimm, wenn nicht. Irgendwo muß da bei Dir an einer anderen Stelle ein Fehler sein.
Wie gesagt, das _muß_ funktionieren, sonst könnte man mySQL komplett in die Tonne treten.
Ausprobieren kannst Du es zur Zeit hier:
http://217.226.195.163/test/stev/stev.php
(die IP wechselt um ca 19:14 Uhr, wenn Du sie später noch mal brauchst kann ich dir gerne die neue mitteilen)

cu, ziegenmelker