标签: foreign-keys

外键是指跨多个表的主键?

我必须在数据库员工下有两个表,即employees_ce和employees_sn.

它们都有各自独特的主键列.

我有另一个名为deductions的表,其外键列我想引用employees_ce的主键以及employees_sn.这可能吗?

例如

employees_ce
--------------
empid   name
khce1   prince

employees_sn
----------------
empid   name
khsn1   princess
Run Code Online (Sandbox Code Playgroud)

这可能吗?

deductions
--------------
id      name
khce1   gold
khsn1   silver
Run Code Online (Sandbox Code Playgroud)

sql foreign-keys primary-key

91
推荐指数
5
解决办法
15万
查看次数

Android中使用SQLite的外键约束?在删除级联

我有两个表:轨道和航点,一个轨道可以有很多航点,但一个航点只分配给一个轨道.

在点数表中,我有一个名为"trackidfk"的列,它在制作轨道时插入track_ID,但是我没有在此列上设置外键约束.

当我删除一条轨道时,我想删除指定的路标,这可能吗?我读过有关使用触发器的内容,但我不认为它们在Android中受支持.

要创建航点表:

public void onCreate(SQLiteDatabase db) {
    db.execSQL( "CREATE TABLE " + TABLE_NAME 
                + " (" 
                + _ID         + " INTEGER PRIMARY KEY AUTOINCREMENT, " 
                + LONGITUDE   + " INTEGER," 
                + LATITUDE    + " INTEGER," 
                + TIME        + " INTEGER,"
                + TRACK_ID_FK + " INTEGER"
                + " );"
              );

    ...
}
Run Code Online (Sandbox Code Playgroud)

java sqlite android foreign-keys

90
推荐指数
5
解决办法
6万
查看次数

如何在MySQL中创建关系

在课堂上,我们都在"学习"数据库,每个人都在使用Access.对此感到厌烦,我正在尝试做其他类正在做的事情,但使用MySQL的原始SQL命令而不是使用Access.

我已设法创建数据库和表,但现在如何在两个表之间建立关系?

如果我有这样的两个表:

CREATE TABLE accounts(
    account_id INT NOT NULL AUTO_INCREMENT,
    customer_id INT( 4 ) NOT NULL ,
    account_type ENUM( 'savings', 'credit' ) NOT NULL,
    balance FLOAT( 9 ) NOT NULL,
    PRIMARY KEY ( account_id )
)
Run Code Online (Sandbox Code Playgroud)

CREATE TABLE customers(
    customer_id INT NOT NULL AUTO_INCREMENT,
    name VARCHAR(20) NOT NULL,
    address VARCHAR(20) NOT NULL,
    city VARCHAR(20) NOT NULL,
    state VARCHAR(20) NOT NULL,
    PRIMARY KEY ( customer_id )
)
Run Code Online (Sandbox Code Playgroud)

如何在两个表之间创建"关系"?我希望每个帐户都被"分配"一个customer_id(以表明谁拥有它).

mysql sql foreign-keys relational-database

89
推荐指数
5
解决办法
25万
查看次数

MySQL中的外键基础知识?

如何使用MySQL的外键构造有什么好的解释吗?

我不太了解MySQL文档本身.到目前为止,我一直在使用连接和编程代码来处理外键.

问题的第二部分,使用MySQL的内置外键是否有任何改进?

mysql foreign-keys

89
推荐指数
4
解决办法
6万
查看次数

将外键作为主键可以吗?

我有表"User"(用户名,密码)和表"Profile"(profileId,性别,dateofbirth,...).目前我正在使用这种方法:每个Profile记录都有一个名为"userId"的字段作为外键,链接到User表.当用户注册时,将自动创建其配置文件记录.我对我朋友的建议感到困惑:将"userId"字段作为外键和主键并删除"profileId"字段.哪种方法更好?

database foreign-keys primary-key

87
推荐指数
4
解决办法
15万
查看次数

SqlAlchemy - 按关系属性过滤

我对SQLAlchemy没有多少经验,我遇到了一个问题,我无法解决.我试过搜索,我尝试了很多代码.这是我的类(缩减为最重要的代码):

class Patient(Base):
    __tablename__ = 'patients'
    id = Column(Integer, primary_key=True, nullable=False)
    mother_id = Column(Integer, ForeignKey('patients.id'), index=True)
    mother = relationship('Patient', primaryjoin='Patient.id==Patient.mother_id', remote_side='Patient.id', uselist=False)
    phenoscore = Column(Float)
Run Code Online (Sandbox Code Playgroud)

我想询问所有患者,其母亲的现象是(例如) == 10

据说,我尝试了很多代码,但我没有得到它.在我看来,逻辑上的解决方案就是

patients = Patient.query.filter(Patient.mother.phenoscore == 10)
Run Code Online (Sandbox Code Playgroud)

因为,您可以.mother.phenoscore在输出时访问每个元素但是,此代码不会这样做.

有没有(直接)过关系属性过滤的可能性(没有编写SQL语句或额外的连接语句),我需要这种过滤器不止一次.

即使没有简单的解决方案,我也很乐意得到所有答案.

python sqlalchemy foreign-keys filter

85
推荐指数
6
解决办法
5万
查看次数

我可以在SQL Server的视图中使用引用列的外键吗?

在SQL Server 2008中给出

TableA(A_ID, A_Data)
TableB(B_ID, B_Data)
ViewC(A_or_B_ID, A_or_B_Data)
Run Code Online (Sandbox Code Playgroud)

是否可以定义TableZ(A_or_B_ID, Z_Data)这样的Z.A_or_B_ID列被约束到在ViewC?中找到的值?可以使用外键来查看视图吗?

sql-server foreign-keys view

82
推荐指数
5
解决办法
6万
查看次数

在mongo的外键?

在此输入图像描述

如何在MongoDB中设计这样的方案?我觉得没有外键!

sql foreign-keys mongodb nosql

81
推荐指数
4
解决办法
8万
查看次数

复合键作为外键

我在MVC 3应用程序中使用Entity framework 4.1.我有一个实体,我有主键由两列(复合键)组成.并且这在另一个实体中用作外键.如何建立关系?在普通的scnerios我们使用:

public class Category
{
    public string CategoryId { get; set; }
    public string Name { get; set; }

    public virtual ICollection<Product> Products { get; set; }
}

public class Product
{
    public int ProductId { get; set; }
    public string Name { get; set; }
    public string CategoryId { get; set; }

    public virtual Category Category { get; set; }
} 
Run Code Online (Sandbox Code Playgroud)

但是如果类别有两列键怎么办?

c# entity-framework foreign-keys composite-key ef-code-first

80
推荐指数
2
解决办法
7万
查看次数

在两个数据库之间添加外键关系

我在两个不同的数据库中有两个表.在table1中(在database1中)有一个名为column1的列,它是一个主键.现在在table2(在database2中)有一个名为column2的列,我想将它添加为外键.

我试图添加它,它给了我以下错误:

消息1763,级别16,状态0,行1
不支持跨数据库外键引用.外键Database2.table2.

消息1750,级别16,状态0,行1
无法创建约束.查看以前的错误.

我是如何做到这一点的,因为表位于不同的数据库中.

sql t-sql sql-server foreign-keys

77
推荐指数
4
解决办法
9万
查看次数