Vao Tsun har det rigtige svar til at bruge insert . . . select (og behørigt stemt op).
Du forsøger dog at bruge en underforespørgsel i values() . Det er tilladt, men en underforespørgsel har brug for sine egne parenteser. Så din version ville fungere som:
insert into warehouse (name, district_id)
values ( 'Ghodasar-WH', (select id from district where name = 'Ahmedabad') );