code: def start_experiment_by_eid(self, eid):
      self.cursor.execute(
          "DELETE FROM multiple_result WHERE eid={eid}".format(eid=eid)
      )
      self.connector.commit()
      self.cursor.execute(
          "DELETE FROM job_attempt WHERE jid in (SELECT jid FROM job WHERE eid={eid})".format(
              eid=eid
          )
      )
      self.connector.commit()
      self.cursor.execute(
          "DELETE FROM intermediate_result WHERE jid in (SELECT jid FROM job WHERE eid={eid})".format(
              eid=eid
          )
      )
      self.connector.commit()
      self.cursor.execute(
          "DELETE FROM job WHERE eid={eid}".format(eid=eid)
      )
      self.connector.commit()
      self.cursor.execute(
          "UPDATE experiment SET start_time = strftime('%s','now'), end_time = NULL, \
                              error_msg = NULL, status = 'RUNNING' WHERE eid={eid}".format(
              eid=eid
          )
      )
      self.connector.commit()
  
imports: import logging
  import re
  import sqlite3
  import threading
  from time import sleep
  import json
  from datetime import datetime
  from .AbstractConnector import AbstractConnector
label_desc: Use image node_id 20 for calling the SQLiteConnector obj's underlying member method code with example usage: obj.start_experiment_by_eid(eid) without return types