Vinzenz Mai: 1 aus 3 Feldern muss gefüllt werden

Beitrag lesen

Hallo,

MySQL 5.1.41

CREATE TABLE file (  
-- [...]  
  
    CHECK (	(userid!=NULL AND betriebid=NULL AND unternid=NULL) OR  
		(userid=NULL AND betriebid!=NULL AND unternid=NULL) OR  
 		(userid=NULL AND betriebid=NULL AND unternid!=NULL) )  
) ENGINE = InnoDB;

[...] check() greift nicht (scheinbar bei MySQL generell nicht nach meinen Recherchen).

nicht nur scheinbar. Das Verhalten ist im Handbuch dokumentiert:

<zitat>
    The CHECK clause is parsed but ignored by all storage engines.
</zitat>

Das gilt übrigens auch für MySQL 5.5 und 5.6.

Freundliche Grüße

Vinzenz