How to place an AUTOINCREMENT ID?

Asked

Viewed 196 times

0

I’m making a login table, where you log in, add your service data and add a company to which you work. But I’m having trouble adding the user id. I want that so q the person make his registration, the program already pull the automatic id of this new user and add automatically at the time he add the company that works. Currently I have to ask the user to add your Id manually. (Python with sqlite3)

def inserir_trabalho_cliente(conexao):
    cursor =  conexao.cursor()
    cargo       = input("Qual é o seu cargo? ")
    hrs         = int(input("Quantas horas você trabalha por semana? "))
    salario     = float(input("Qual é o seu salário? "))
    admissao    = input("Qual é a sua data de admissão? ")
    id_usuario  = int(input("Qual é o seu Id de usuário? "))

    os.system('cls' if os.name == 'nt' else 'clear')
    print("AGORA VAMOS ADICIONAR A EMPRESA QUE VOCÊ TRABALHA")
    x = int(input("Adcionar um empresa = 1 \nEscolher uma empresa já adcionada = 2\nR: "))
    os.system('cls' if os.name == 'nt' else 'clear')

    if(x == 1):
        empresa.inserir_empresa(conexao)
        os.system('cls' if os.name == 'nt' else 'clear')

        empresa.listar_empresa(conexao)
        id_empresa = int(input("Qual é o codigo da empresa que trabalha? "))

        sql = '''INSERT INTO trabalho (usu_cargo, usu_horas_trabalho_semanal, usu_salario, data_admissao,
    id_empresa, id_usuario) VALUES  ('{}', '{}', '{}', '{}', {}, {})'''.format(cargo, hrs,
    salario, admissao, id_empresa, id_usuario)

        cursor.execute(sql)
        conexao.commit()

    elif(x == 2 ):
        empresa.listar_empresa(conexao)
        id_empresa  = int(input("Qual é o Id da empresa que trabalha? "))

        sql = '''INSERT INTO trabalho (usu_cargo, usu_horas_trabalho_semanal, usu_salario, data_admissao,
    id_empresa, id_usuario) VALUES  ('{}', '{}', '{}', '{}', {}, {})'''.format(cargo, hrs,
    salario, admissao, id_empresa, id_usuario)

        cursor.execute(sql)
        conexao.commit()

1 answer

0

When you create a table on sqlite, unless the option is used WITHOUT ROWID, always a column named rowid that is autoincrement, then the value of that column already serves as that id you need, just include in your select the rowid.

See the example working here: http://sqlfiddle.com/#! 7/faaaf/2

Note that when creating the table no column has been specified autoincrement, but she was created and has values.

Browser other questions tagged

You are not signed in. Login or sign up in order to post.