Sql cx_Oracle:向表添加外键约束意味着它将填充该表,还是不填充该表?
表“likes”使用表用户和图片的主键作为其(外键)属性。当我尝试执行下面的代码时,我没有得到like的值(请参见我已将值添加到用户和图片表,并且这些表值正在显示):Sql cx_Oracle:向表添加外键约束意味着它将填充该表,还是不填充该表?,sql,python-3.x,oracle11g,cx-oracle,Sql,Python 3.x,Oracle11g,Cx Oracle,表“likes”使用表用户和图片的主键作为其(外键)属性。当我尝试执行下面的代码时,我没有得到like的值(请参见我已将值添加到用户和图片表,并且这些表值正在显示): 在表上创建外键约束只意味着只能从引用的列中存在的值中输入数据。这并不意味着它会填充数据-它只会保持您放入likes表中的数据的完整性,这样您就不会有用户id或图片id分别出现在用户或图片表中 表likes是一个不同的表,除非您向其中添加一些数据,否则从中选择是没有意义的 您需要先将数据插入到表中才能看到它。它不是其他表的视图 您创
在表上创建外键约束只意味着只能从引用的列中存在的值中输入数据。这并不意味着它会填充数据-它只会保持您放入
likes
表中的数据的完整性,这样您就不会有用户id
或图片id
分别出现在用户
或图片
表中
表likes
是一个不同的表,除非您向其中添加一些数据,否则从中选择是没有意义的
您需要先将数据插入到表中才能看到它。它不是其他表的视图
您创建的是一个多对多关系,这样您现在就可以将用户与表likes
中的图片连接起来。此外,考虑在列<代码> >(PigTrimeID,UsSyID)<代码> > < <代码> > />代码>表中。尽管感谢您的帮助和洞察力。请注意,它实际上无法填充表。尽管它是一个存储不同信息的完全不同的表,但数据库无法确定哪个用户与哪个图片连接。
statement = """CREATE TABLE users(
user_id number(10) not null PRIMARY KEY,
username Varchar2(50),
user_email Varchar2(50),
no_of_liked_pictures number(10),
last_login Date
)"""
cur.execute(statement)
statement = """create table pictures(
picture_id number(10) not null primary key,
pic_path varchar2(200),
pic_caption varchar2(500),
no_of_likes number(10),
date_of_post date
)"""
cur.execute(statement)
statement = """create table likes(
picture_id number(10),
user_id number(10),
constraint fk_pic foreign key (picture_id) references pictures(picture_id),
constraint fk_user foreign key (user_id) references users(user_id)
)
"""
cur.execute(statement)
cur.execute("select * from likes")
print("likes Table:\n",cur.fetchall())