私はプライマリキーが挿入されたレコードごとにプライマリキーを自動インクリメントすることを理解していますが、オプション1を使用してデータを挿入すると、オプション2を使用してデータを表示し、PKを1,2,3 ...私はPKを4桁の数字で保存したいと思います。 1、2、3ではなく0001,0002,0003。これを行う方法はありますか? ご注意:これは簡略化されたコードの例です。また 1、2、3ではなく、0001、0002、0003のようなプライマリキーの自動インクリメントを作成するにはどうすればよいですか?
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セクションで 'text'を使用しようとしました... any ide
ありがとうございます!それはうまくいきます:D逆を行う方法はありますか?例えば0002から2に行くのですか? – JDomleo
はい。ちょうど 'int( '0002')' –