标签: foreign-keys

创建外键SQL

如何创建外键

来自表tGeoAnswers列'locationId'

表tLocations列'id'?

ALTER TABLE 
        tGeoAnswers 
ADD 
        FK_Answer_Location 
FOREIGN KEY 
        (locationId)
REFERENCES 
        tLocations(id)
Run Code Online (Sandbox Code Playgroud)

我正在尝试这个我找到的代码,但是我收到以下错误:

列'FK_Answer_Location'的定义必须包含数据类型

sql sql-server foreign-keys

2
推荐指数
2
解决办法
6354
查看次数

Mysql:以编程方式删除所有外键

我现在正在使用一些有点笨拙的数据库,在所有错误的地方定义了外键,我想将它们全部删除,然后从头开始.我不希望删除列,只是外键关系.

如何从整个数据库中删除所有外键?(或按表格表).

谢谢.

编辑:忘了说,我有PHPMyAdmin可供使用.

mysql foreign-keys

2
推荐指数
1
解决办法
5486
查看次数

圆形外键.我该如何处理它们?

我的大部分sql代码都是生成的(来自POD).现在我有问题,表user_data有一个FK到ref_status,它指向两个不同的user_data.我的代码执行以下操作

  1. 开始交易
  2. 查看user_data(并将其添加到列表中)
  3. 看到ref_status然后用它重复#2
  4. 执行create table ref_status代码

然后我得到了例外

Foreign key 'FK__...__0F975522' references invalid table 'user_data'.
Run Code Online (Sandbox Code Playgroud)

如果他们使用彼此的两个作为参考,我如何创建两个表?我认为,因为它是在同一个交易中,它会起作用.我还要注意这个代码在sqlite中工作正常,启用了FK支持(自上个月发布的System.Data.SQLite以来一直支持).那么我期望如何创建这两个表呢?

.net sql sql-server foreign-keys

2
推荐指数
1
解决办法
2733
查看次数

SQLite3中的外键支持

根据2010年的这个帖子,"EnforceFKConstraints"连接字符串属性应该在未来的SQLite版本中实现.有谁知道开发商是否已经开始这样做了?

如果没有,是否有另一种方法可以启用外键支持而不在每个连接上执行"PRAGMA foreign_keys = ON"?我需要这个以确保删除总是级联.

c# sqlite foreign-keys system.data.sqlite

2
推荐指数
1
解决办法
3874
查看次数

ON DELETE CASCADE无效

这是2个表的sql

CREATE TABLE Customer(
    c_id        INTEGER NOT NULL AUTO_INCREMENT PRIMARY KEY,
    f_name      VARCHAR(50) NOT NULL,
    l_name      VARCHAR(50) NOT NULL,
    email       VARCHAR(100) NOT NULL,
    number      INTEGER,
    date_joined DATE NOT NULL CHECK (date_added <= now())
);

CREATE TABLE Address(
    a_id        INTEGER NOT NULL AUTO_INCREMENT PRIMARY KEY,
    c_id        INTEGER NOT NULL REFERENCES Customer(c_id) ON DELETE CASCADE,
    billing     BOOLEAN,
    f_line      VARCHAR(50) NOT NULL,
    s_line      VARCHAR(100),
    county      VARCHAR(20) NOT NULL,
    p_code      VARCHAR(7) NOT NULL,
    number      INTEGER(11)
);
Run Code Online (Sandbox Code Playgroud)

但是,当我删除一个客户时,他们的地址不会被删除,任何想法为什么?

mysql foreign-keys

2
推荐指数
1
解决办法
2723
查看次数

仅当另一个模型字段为true时,才需要管理站点中的模型字段

在我的一个模型中,我希望只有在另一个布尔模型字段为真时才需要外键对象.如何配置管理站点以这种方式运行?

我的models.py包含:

from django.db import models

class ThingOne(models.Model):
    name = models.CharField(max_length=100)

class ThingTwo(models.Model):
    name = models.CharField(max_length=100)
    use_thingone = models.BooleanField()
    thingone = models.ForeignKey(ThingOne, blank=True, null=True)
Run Code Online (Sandbox Code Playgroud)

我的admin.py包含:

from myapp.models import ThingOne
from myapp.models import ThingTwo
from django.contrib import admin

admin.site.register(ThingOne)
admin.site.register(ThingTwo)
Run Code Online (Sandbox Code Playgroud)

thingone如果use_thingone是真的,我该如何调整它以产生一个必需的外键字段?

python django foreign-keys django-models django-admin

2
推荐指数
1
解决办法
832
查看次数

错误121 mysql有约束

我正在尝试重新定义我的数据库设计添加一些额外的表,所以在我的表Departaments和Jobs中没有重复的名称...

但我得到的错误121与外键有关,你能解释一下这个问题的原因吗?

我在sqlfiddle中这样做

我试图做这样的事情,但在sqlfiddle没有运气,我现在正在工作

 CREATE TABLE Employee(
          EmployeeID  INTEGER      NOT NULL PRIMARY KEY,
          Name        VARCHAR(30)  NOT NULL,
          Sex         CHAR(1)      NOT NULL,
          Address     VARCHAR(80)  NOT NULL,
          Security    VARCHAR(15)  NOT NULL          
        );

        CREATE TABLE Departments  (
            DeptID   INTEGER     NOT NULL PRIMARY KEY,
            DeptName VARCHAR(30) NOT NULL
        );
Run Code Online (Sandbox Code Playgroud)

如果我取消注释代码,我得到 架构创建失败:无法创建表'db_2_2bf4a.project-employee'(错误号:121):

        CREATE TABLE `Dept-Employee`(
          EmployeeID   INTEGER NOT NULL,          
          DeptID       INTEGER NOT NULL,
          CONSTRAINT fk_DeptID     FOREIGN KEY (DeptID)  REFERENCES Departments(DeptID),
          CONSTRAINT fk_EmployeeID FOREIGN KEY (EmployeeID) REFERENCES Employee(EmployeeID)
        );

       CREATE TABLE `Dept-Manager`(
          EmployeeID   INTEGER NOT NULL, …
Run Code Online (Sandbox Code Playgroud)

mysql foreign-keys

2
推荐指数
1
解决办法
2349
查看次数

在symfony2中插入带有外键的对象的最佳实践

如果我已经拥有外键的id,那么在symfony2中的对象中插入外键的最佳做法是什么?

如果我有一个动作:

/**
* @Route("assignCategory/{category}/product/{product}")
*/
public function assignCategory($category, $product)
{
   ...
   // here i should set the category to the existing product
   ...
}
Run Code Online (Sandbox Code Playgroud)

我不喜欢从数据库中检索类别的想法.

如果你在会话中有id并且你想将它们存储到对象但是没有从数据库中检索它,那么这也适用...所以...应该最好的做法是什么?

doctrine foreign-keys symfony

2
推荐指数
1
解决办法
2765
查看次数

无法在Bluemix上的DashDB/DB2中的表上添加外键

当我在Bluemix上的DashDB(DB2)中创建一个表时,如下所示:

CREATE TABLE DEPARTMENT (
    depname CHAR (10) UNIQUE NOT NULL ,
    phone   INTEGER
  ) ;
ALTER TABLE DEPARTMENT ADD CONSTRAINT DEPARTMENT_PK PRIMARY KEY ( depname ) ;

CREATE TABLE EMPLOYEE (
    "EmpNr"          NUMERIC (3) UNIQUE NOT NULL ,
    empname         CHAR (20) ,
    depname         CHAR (10) ,
    EMPLOYEE2_title CHAR (20)
  );
ALTER TABLE EMPLOYEE ADD CONSTRAINT EMPLOYEE_PK PRIMARY KEY ( "EmpNr" ) ;

ALTER TABLE EMPLOYEE ADD CONSTRAINT EMPLOYEE_DEPARTMENT_FK FOREIGN KEY (depname ) REFERENCES DEPARTMENT ( depname ) ;
Run Code Online (Sandbox Code Playgroud)

Bluemix不允许为此表类型添加外键约束.

db2 foreign-keys dashdb ibm-cloud

2
推荐指数
1
解决办法
2876
查看次数

将内联模型添加到Django管理站点

我有两个模型:

class Rule(models.Model):
    name = models.CharField(max_length=200)

class Channel(models.Model):

    id = models.CharField(max_length=9, primary_key=True)
    name = models.CharField(max_length=100)
    rule = models.ForeignKey(Rule, related_name='channels', blank=True)
Run Code Online (Sandbox Code Playgroud)

而且我必须能够在RuleAdmin界面内的管理站点中添加规则通道。因此,我创建了这两个管理员模型:

class ChannelAdmin(admin.TabularInline):
    model = Channel

class RuleAdmin(admin.ModelAdmin):
    model = Rule
    inlines = [ChannelAdmin]
Run Code Online (Sandbox Code Playgroud)

但是,当我启动服务器时,出现以下错误:

ERRORS:
<class 'main.admin.ChannelAdmin'>: (admin.E202) 'main.Channel' has no ForeignKey to 'main.Channel'.
Run Code Online (Sandbox Code Playgroud)

仍然在django shell中,我可以像这样进行查询

rule = Rule.objects.get(pk=1)
rule.channels.all()
Run Code Online (Sandbox Code Playgroud)

总有一些明显的东西,但我只是想不通。

python django foreign-keys django-admin

2
推荐指数
1
解决办法
3416
查看次数