gpt4 book ai didi

python - 如何使主键自动增量为 0001、0002、0003 而不是 1、2、3?

转载 作者:搜寻专家 更新时间:2023-10-30 22:28:34 27 4
gpt4 key购买 nike

我知道主键会为插入的每条记录自动递增主键,但是当我使用选项 1 插入数据,然后使用选项 2 显示数据时,它显示 PK 为 1,2,3... 等等。但是,我希望它将 PK 存储为 4 位数字,E.G. 0001,0002,0003 而不是 1,2,3。有什么办法吗? 请注意:这是示例简化代码。

import sqlite3

connection = sqlite3.connect('database.db')
cursor = connection.cursor()
create_table = '''
CREATE TABLE IF NOT EXISTS employee (
staff_ID INTEGER PRIMARY KEY NOT NULL,
fname VARCHAR(20) NOT NULL,
lname VARCHAR(30) NOT NULL,
gender VARCHAR(20) NOT NULL);'''
cursor.execute(create_table)

print('press 1 to add new user')
print('press 2 to show all users')
option = input('1 or 2: ')

if option == '1':
#userid = input('User ID: ')
first_name = input('First name : ')
surname = input('Surname: ')
gender = input('Gender: ')

add_staff = '''INSERT INTO employee (fname, lname, gender)
VALUES (?, ?, ?, ?);'''
cursor.execute(add_staff, (first_name, surname, gender))

elif option == '2':
cursor.execute('SELECT * FROM employee')
print('fetchall:')
result = cursor.fetchall()
for r in result:
print(r)
cursor.execute('SELECT * FROM employee')

connection.commit()

connection.close()

另外,我如何确保在输入名字和姓氏时,它们只是文本值?我尝试在 CREATE 部分使用“文本”...任何想法

最佳答案

您可以使用 zfill方法。

key=1
str(key).zfill(4)
out[1]: '0001'

key=10
str(key).zfill(4)
out[1]: '0010'

关于python - 如何使主键自动增量为 0001、0002、0003 而不是 1、2、3?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47802566/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com