将一个表中的数据字段移动到另一个表
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了将一个表中的数据字段移动到另一个表相关的知识,希望对你有一定的参考价值。
我目前正在尝试将一个表中的字段添加到另一个表中。
在我的示例代码中,我在个人表中有竞争者ID(这也是主键)。但我希望这个ID出现在另一个名为Individual events的表中,但我仍然坚持如何做到这一点。我想我已经把它作为我个人事件表中的外键
任何帮助将非常感激。
请参阅下面的代码(它应该运行并运行,但没有关于单个事件表中显示的字段的结果)
def create_database():
global cursor
global connection
connection = sqlite3.connect("Tournament.db")
cursor = connection.cursor()
def create_tables():
cursor.execute("""CREATE TABLE tblIndividuals
(competitorID INTEGER,
title TEXT,
firstName TEXT,
surname TEXT,
primary key (competitorID))
""")
def menu():
select = int (input("Please select from the following options....\n "
"1. Add a team or individual\n "
"2. Start the individual events\n "
"3. Start the team events\n "))
if select == 1:
add_entry()
if select == 2:
individual_events()
def add_entry():
type_of_entry = input("Individual or team entry? ")
competitor_numbers_used = []
record = []
while type_of_entry == "individual":
global competitorID
competitorID = random.randint(1,20)
competitor_numbers_used.append(competitorID)
if competitorID in competitor_numbers_used:
competitorID = random.randint(1,20)
title = input ("Enter your title: ")
firstName = input("Enter your first name: ")
surname = input("Enter surname: ")
record.append(competitorID)
record.append(title)
record.append(firstName)
record.append(surname)
cursor.execute("INSERT INTO tblIndividuals VALUES (?,?,?,?)", record)
record = []
connection.commit()
type_of_entry = input("Individual or team entry? (Type end to go back to the menu) ")
if type_of_entry == "end":
menu()
def individual_events():
cursor.execute("""CREATE TABLE tblIndividualEvents
(competitorID INTEGER,
FOREIGN KEY(competitorID) REFERENCES tblIndividuals(competitorID))
"""
create_database()
create_tables()
menu()
connection.close
答案
您尚未采取任何操作将数据添加到第二个表。创建具有相同字段名称的第二个表不会影响第二个表中的数据。
你可以做的事情:
- 将值插入第一个表时,手动将相同的值插入第二个表。
- 将所有值插入第一个表后,通过
INSERT INTO ... (SELECT ...)
将所有值批量插入到第二个表中 - 在第一个表上创建一个插入触发器,通过在第二个表中插入相同的值来响应插入。
底线,定义第二个表的结构不会导致任何数据添加到它。
以上是关于将一个表中的数据字段移动到另一个表的主要内容,如果未能解决你的问题,请参考以下文章
mysql 设置外键,能否将表中多个字段关联到另一个表中的同一字段