ho enum
campo che contiene lowercase
e uppercase
di una stessa lettera, quando provo ad aggiornare una riga e modificare il valore non funziona.mysql enumerazione non è sensibile esso corrisponde il primo colpo caso sensibilità
questo è il modo in cui riprodurre il problema:
CREATE TABLE `mytable` (
`id` bigint(20) NOT NULL,
`name` varchar(100) NOT NULL,
`strategy` enum('g','G','r','R') NOT NULL DEFAULT 'g'
) ENGINE=InnoDB;
INSERT INTO `mytable` VALUES(1,'test','g');
ora quando provo a cambiare strategy
g
-G
non funziona:
UPDATE `mytable` SET `strategy`='G' WHERE id=1;
esso returnes:
Query OK, 0 rows affected (0.00 sec)
Rows matched: 1 Changed: 0 Warnings: 0
Io uso MySQL 5.5
, per favore hel p me
EDIT:
come @farshad mentiond nel suo commento, esso uso la prima partita, se cambio l'ordine di enum
e uso 'G','g',...
sarà sempre utilizzare G
e non si può cambiare ritorna g
Dipende ordine enum. Mysql restituisce il primo carattere g abbinato, Nel mio test quando hai cambiato l'ordine in ('G', 'g') tutte le righe con 'g' in tutti i casi restituiscono 'G'. Penso che la domanda giusta sia perché mysql restituisce il primo carattere enum sempre in caso di valori enum sensibili – Farshad