Quello che voglio fare è impostare ogni paziente sul suo codice paziente univoco che inizia con 1 e non è basato su id riga. L'ID specifica solo l'ordine. Qualcosa di simile a questo:Valore aggiornamento MySQL dalla stessa tabella con conteggio
patient_id patient_code
2 1
3 2
4 3
Questa è la mia domanda:
UPDATE patients p1
SET p1.patient_code = (
SELECT COUNT(*)
FROM patients p2
WHERE p2.patient_id <= p1.patient_id
)
Ma sta gettando errore:
#1093 - You can't specify target table 'p1' for update in FROM clause
ho trovato questa discussione: Mysql error 1093 - Can't specify target table for update in FROM clause.
Ma non so come applicare la risposta approvata per lavorare con la sottoquery WHERE che è necessaria per COUNT.
Funziona. Grazie. La mia soluzione è più veloce, ma ha anche alcune limitazioni –