Προς το περιεχόμενο

Προτεινόμενες αναρτήσεις

Δημοσ.

φτιαχνω μια βαση στην οποια το ενα χαρακτηριστικο θελω να παιρνει συγκεκριμενες τιμες πχ. χρωμαμαλλιων καστανος, ξανθος, κοκκινομαλλης και σε οποιαδηποτε αλλη απαντηση να βγαζει error. Ξερει κανεις την λυση?

Δημοσ.
3 ώρες πριν, mikebol είπε

φτιαχνω μια βαση στην οποια το ενα χαρακτηριστικο θελω να παιρνει συγκεκριμενες τιμες πχ. χρωμαμαλλιων καστανος, ξανθος, κοκκινομαλλης και σε οποιαδηποτε αλλη απαντηση να βγαζει error. Ξερει κανεις την λυση?

Enum types

  • Like 1
Δημοσ.

create table atoma(id INT NOT NULL auto_increment PRIMARY KEY, onoma VARCHAR(32) CHARACTER SET utf8, xroma ENUM ('xantho','kastano','kokkino'));
insert into atoma (onoma, xroma)Values('kostas','xantho'),('giannis','kastano'),('maria','kokkino');

 select * from atoma where xroma=1;
+----+--------+--------+
| id | onoma  | xroma  |
+----+--------+--------+
|  1 | kostas | xantho |
+----+--------+--------+

 

select * from atoma where xroma='kokkino';
+----+-------+---------+
| id | onoma | xroma   |
+----+-------+---------+
|  3 | maria | kokkino |
+----+-------+---------+

 


 

 

 

  • Moderators
Δημοσ. (επεξεργασμένο)

Κάτι τέτοιο δεν είναι λάθος να μη γίνει προγραμματιστικά;

Επεξ/σία από Kercyn
  • Like 2
Δημοσ.
42 λεπτά πριν, Kercyn είπε

Κάτι τέτοιο δεν είναι λάθος να μη γίνει προγραμματιστικά;

Τα enum στο sql είναι καλύτερα να τα αποφεύγεις. Όπως λες, και εγώ θα προτιμούσα προγραμματική λύση σε παρόμοια περίσταση.

Για παράδειγμα θα έβαζα μια validation του τύπου:

if (['κόκκινο','ξανθό','καστανό'].indexOf(value)>-1){

 .... βάλτο στην db

}else{

.... show error

}

Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε

Πρέπει να είστε μέλος για να αφήσετε σχόλιο

Δημιουργία λογαριασμού

Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!

Δημιουργία νέου λογαριασμού

Σύνδεση

Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.

Συνδεθείτε τώρα
  • Δημιουργία νέου...