total drinks per day column
Unclear. 

What does drink_no signify?
You should not try to maintain a "running count" of how many drinks a person has consumed on a given day.  Instead, simply store that they have consumed another drink and let your queries do the "adding up": 

select 
  drinker
, odate
, count( odate ) total 
from table1
group by drinker, odate
order by drinker, odate ; 

+---------+------------+-------+
| drinker | odate      | total | 
+---------+------------+-------+
| Claude  | 2020-01-12 |     4 | 
| Claude  | 2020-01-15 |     2 | 
| Claude  | 2020-01-19 |     1 | 
| Claude  | 2020-04-04 |     1 | 
| Claude  | 2020-04-05 |     1 | 
| Claude  | 2020-04-12 |     1 | 
| Claude  | 2020-04-15 |     1 | 
| Claude  | 2020-04-16 |     1 | 
| Claude  | 2020-04-17 |     1 | 
| Claude  | 2020-04-18 |     1 | 
| Claude  | 2020-04-19 |     1 | 
| Claude  | 2020-04-20 |     1 | 
+---------+------------+-------+


Also, please tell me that odate is an actual Date Data Type. 

Never store Date values in anything else.  Doing so will make date manipulation far, far more difficult and, potentially, much slower.