OK SELECT s.id as sid, s.document_id FROM supplements s JOIN documents d ON d.id = s.document_id WHERE s.contract_id = AND d.filename = DELETE FROM supplements WHERE id = DELETE FROM documents WHERE id = INSERT INTO documents (filename, mime_type, original_bytes, status) VALUES (,,,'uploaded') SELECT id FROM documents WHERE filename= AND status='uploaded' ORDER BY created_at DESC LIMIT 1 INSERT INTO contracts (number, client) VALUES (,'') SELECT id FROM contracts ORDER BY created_at DESC LIMIT 1 INSERT INTO supplements (contract_id, document_id, type) VALUES (,,) #serializeJSON(result)# SELECT s.id as sid, s.document_id FROM supplements s JOIN documents d ON d.id = s.document_id WHERE s.contract_id = AND d.filename = DELETE FROM supplements WHERE id = DELETE FROM documents WHERE id = INSERT INTO documents (filename, mime_type, original_bytes, status) VALUES (,,,'uploaded') SELECT id FROM documents WHERE filename= AND status='uploaded' ORDER BY created_at DESC LIMIT 1 INSERT INTO contracts (number, client) VALUES (,'') SELECT id FROM contracts ORDER BY created_at DESC LIMIT 1 INSERT INTO supplements (contract_id, document_id, type) VALUES (,,) SELECT s.id as sid, s.document_id FROM supplements s JOIN documents d ON d.id = s.document_id WHERE s.contract_id = AND d.filename = DELETE FROM supplements WHERE id = DELETE FROM documents WHERE id = INSERT INTO documents (filename, mime_type, original_bytes, status) VALUES (,,,'uploaded') SELECT id FROM documents WHERE filename= AND status='uploaded' ORDER BY created_at DESC LIMIT 1 INSERT INTO contracts (number, client) VALUES (,'') SELECT id FROM contracts ORDER BY created_at DESC LIMIT 1 INSERT INTO supplements (contract_id, document_id, type) VALUES (,,) #serializeJSON(result)#