Datenfeld mit Wertebereich zwischen 0.1 bis 1.0?

unrealzero_php

Erfahrenes Mitglied
Hallo zusammen

Gibt es unter MySQL einen Datentyp den ich so definieren kann, dass ich lediglich Werte zwischen 0.1 und 1.0 eingeben kann?
 
Es ist vielleicht nicht wirklich das was du suchst aber der ENUM-Daten- bzw. Spaltentyp kann zumindest auf bestimmte Werte eingegrenzt werden.

Wobei ich zugeben muss das ich die Handhabung ziemlich kompliziert finde.

Gruß Thomas
 
Normalerweise geht das Richtung FLOAT oder DECIMALals Datentyp und welche Werte erlaubt sind, sollte deine Datenbankzugriffsschicht prüfen, bevor es versucht wird in die Datenbank zu schreiben.

Die Frage ist auch was willst du mit den Zahlen darstellen und in welcher Genauigkeit (welcher Stelle nach dem Komma sozusagen)?
 
Zuletzt bearbeitet:
Ansonsten mittels Trigger eine Funktion schrieben die den Insert und Update prüft.

Nachtrag:
In etwa so (in MySQL kannst du keine Fehler direkt erstellen. Ersetz also den Wert durch irgend ein Wert der ein Fehler auslöst)
SQL:
CREATE TRIGGER trg_triggertest_before_insert BEFORE INSERT ON triggertest 
FOR EACH ROW 
BEGIN
  IF NOT NEW.id BETWEEN 0 AND 1 THEN
    SET NEW.id =-99999999999999999999999999999;  
  END IF; 
END;
 
Zuletzt bearbeitet von einem Moderator:
Zurück