Ich verstehe, dass der Primärschlüssel automatisch den Primärschlüssel für jeden Eintrag einfügt, aber wenn ich Daten mit Option 1 einfügen, dann zeigen Sie die Daten mit Option 2, zeigt die PK als 1,2,3 ... usw. Allerdings Ich möchte, dass es den PK als 4 Ziffern speichert, EG 0001,0002,0003 statt 1,2,3. Gibt es eine Möglichkeit, dies zu tun? BITTE BEACHTEN SIE: Dies ist ein Beispiel für einen vereinfachten Code.Wie mache ich den Primärschlüssel Autoincrement wie 0001, 0002, 0003 statt 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()
Auch, wie kann ich sicherstellen, dass, wenn der Vorname und Nachname eingegeben werden, werden sie nur Textwerte sind? Ich habe versucht, 'Text' in der CREATE-Sektion ... any ide
Vielen Dank! Es funktioniert: D Gibt es eine Möglichkeit, das Gegenteil zu tun? Zum Beispiel von 0002 zu 2? – JDomleo
Ja. Mach einfach 'int ('0002')' –