SQLite表示;组织;已存在。
这是我的代码:
import sqlite3
con = sqlite3.connect('example4.db')
cur = con.cursor()
# Create table
cur.execute('''CREATE TABLE ORGANIZATION
(ID int, NAME text, SURNAME text, NICKNAME text, ADDRESS chair(250), PHONE
real, MAIL text, WEB text, INFO chair(250) )''')
# Insert a row of data
cur.execute("INSERT INTO ORGANIZATION VALUES (1, 'John', 'Stockton', 'JS', 'Nip and Tack 15',
00000000000, 'info@info.xx',' https://www.info.xx', '-' )")
# Save (commit) the changes
con.commit()
con.close()
con = sqlite3.connect('example4.db')
cur = con.cursor()
for row in cur.execute('SELECT * FROM ORGANIZATION ORDER BY ID'):
print(row)
我的预期结果是打印带有表数据的行:
1, 'John', 'Stockton', 'JS', 'Nip and Tack 15', 00000000000, 'info@info.xx',' https://www.info.xx', '-'
每次运行代码时,都会执行CREATE TABLE ...
语句并尝试创建表
如果表已经存在,则会得到错误:
。。。表";组织;已存在。。。
您可以在语句中使用IF NOT EXISTS
:
sql = """
CREATE TABLE IF NOT EXISTS ORGANIZATION(
ID int, NAME text, SURNAME text, NICKNAME text, ADDRESS text,
PHONE real, MAIL text, WEB text, INFO text)
"""
cur.execute(sql)
此外,没有数据类型chair
(我怀疑你指的是char
,它也不是SQLite的数据类型之一(,所以我改为TEXT
。