首页 > TAG信息列表 > foreign-keys

mysql-如何避免添加重复的外键约束

我想知道是否可以避免多次添加相同的外键约束? 例如:如果我执行下面的查询3次,则在phpmyadmin中约束将存在3次…我第二次和第三次应用该查询都会被拒绝,这将是非常棒的. ALTER TABLE `my_items_details` ADD FOREIGN KEY (`items_id`) REFERENCES `my_items`(`item_id`) ON DELETE R

添加外键时在mysql中死锁

我们的数据库中有一个名为company_competitors的表.有一项工作每天都会对其进行截断和加载. 该表有两列company_id和competitor_id都引用另一个表公司. CREATE TABLE `company_competitors` ( `id` bigint(20) NOT NULL AUTO_INCREMENT, `company_id` int(11) DEFAULT NULL,

python-状态更改期间失去一致性的Django模型实例外键列表

我有模型Match,有两个外键: class Match(model.Model): winner = models.ForeignKey(Player) loser = models.ForeignKey(Player) 当我遍历Match时,我发现每个模型实例都使用一个唯一的对象作为外键.由于引入了不一致性,这最终使我感到痛苦,这是一个示例: >>> def print_elo

我如何构造数据库,以使构成相同“元素”的两个表链接到另一个表?

我阅读了有关数据库结构和规范化的内容,并决定在我学习的东西后面重塑数据库,以减少冗余. 我有可以学习的不同类型的条目.间隙文本/完形填空测试(一个文本,多个间隙)和简单的已知-未知(一个问题,一个答案)类型. 现在我有点咸菜: >差距需要用户表中的列与问答类型完全相同 >,但它们所

mysql-外键和索引

我有2个表格:产品和类别.每个类别都有许多产品,一个产品可以属于许多类别. 产品展示 product_id - int primary auto increment name - unique etc. 分类 category_id - int primary auto increment name - unique etc. 对于多对多关系,我有一张第三张桌子. 产品_类别 product_

CodeGo.net>如何在ServiceStack.OrmLite中使用OnUpdate =“ CASCADE”

我试图了解OnUpdate =“ CASCADE”参数的作用以及如何使用它. 在ForeignKeyAttributeTests(ServiceStack.OrmLite on Github)中,Test CascadesOnDelete非常清楚: [Test] public void CascadesOnDelete() { using (var dbConn = ConnectionString.OpenDbConnect

如何在C#中为表设置外键?

我正在开发一个程序,该程序创建数据库并构建维度表和事实表.我在设置外键和约束时遇到麻烦. 这是我要执行的实际SQL: CREATE TABLE FactSalesOrders (ProductKey int NOT NULL REFERENCES DimProduct(ProductKey), CustomerKey int NOT NULL REFERENCES DimCustomer(Customer

python-Django.外键的默认值

我使用Django 1.9.1,Python 3.5. models.py: class Item(models.Model): name = models.CharField(max_length=200) price = models.FloatField() def __str__(self): # __unicode__ on Python 2 return self.name class Lot(models.Model):

mysql-添加外键时CONSTRAINT关键字的用途是什么?

我不知道这两者之间有什么区别. CONSTRAINT fk_PerOrders FOREIGN KEY (P_Id) REFERENCES .. 和 FOREIGN KEY (P_Id) REFERENCES .. 它只是命名,还是其他?解决方法:根据MySQL关于foreign keys indicates的手册,约束语法的CONSTRAINT symbol_name部分是可选的: [CONSTRAINT [symb

mysql-更改表添加外键参考

我正在做一个学习perl / catalyst的教程,似乎有点过时了.我正在尝试将已经是主键(已经删除主键)的现有列更改为外键.我已经尝试了多种语法配置,但似乎无法确定.这是我最近的尝试: ALTER TABLE book_author ( MODIFY book_id INTEGER ADD CONSTRAINT FOREIGN KEY book_id R

MySQL表名称按依赖关系顺序排序

我想按其依赖顺序对表名进行排序. 例如:如果我有表用户,users_orders和订单,我想按以下顺序获取表名:用户(或订单无关紧要),订单,users_orders. 如果有办法请帮助.解决方法:听起来您正在尝试转储具有外键定义的表,并且想要确保首先转储“父”表,以便可以确保引用它们的“子”表可以使

php-识别关系的优缺点(非识别),反之亦然

让我们想象一个简单的现实世界中的客户-贷款关系场景,其中不可能存在没有客户的贷款,因此逻辑上该关系应该是具有以下结构的多对一标识关系: CREATE TABLE `customer` ( `id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY, `name` VARCHAR(50) ) ENGINE = InnoDB; CREATE TABLE `

mysql-具有外键约束的删除顺序,

我有一个包含三个表和外键“删除时”约束的架构,如下所示: | -> FK (cascade) -> | Organisation | | Users | - FK (cascade) Categories -> FK(restrict) -> | 如果

MySQL外键自动生成的名称是否具有确定性?

创建约束后,它们会获得类似于“ FK5E6B788655A1514E”的名称. 我想知道名称生成是确定性的还是随机的. 我注意到,我正在使用的两个单独的数据库,具有相同的架构,最终都具有相同的FK名称. 将升级脚本从模式的一个版本编写到另一个版本以使用这些约束名称时,这有意义吗?解决方法:我一

MySQL错误1452-无法添加或更新子行:外键约束失败

我已经看过其他人关于此主题的问题,但似乎找不到我的错误出处.任何帮助将不胜感激.我包括了我能想到的尽可能多的东西,这可能有助于发现问题: CREATE TABLE stocks ( id INT AUTO_INCREMENT NOT NULL, user_id INT(11) UNSIGNED NOT NULL, ticker VARCHAR(20) NOT NULL, name VARCH

在MySQL中创建外键会产生错误:

我正在尝试在MySQL中的表上创建外键,但遇到一个奇怪的错误,即在我的任何搜索中似乎都没有多少信息. 我正在创建密钥(从mysql workbench 5.2发出): ALTER TABLE `db`.`appointment` ADD CONSTRAINT `FK_appointment_CancellationID` FOREIGN KEY (`CancellationID` ) REFERENCE

具有FK约束的MySQL / InnoDB:查找受级联删除影响的表/行

我有一个FK约束设置的MySQL / InnoDB数据库.如果我删除“根”表中的一行,则从属表将删除相应的行. 如何显示已删除的内容,或者至少显示哪些表格受到了影响? 有什么简单的方法还是我需要写一个工具来比较之前和之后? 复制日志会显示最新情况吗?解决方法:不,无法显示已删除的内容 否,它

mysql-由于外键约束,使用phpMyAdmin复制数据库失败

我正在使用phpMyAdmin,并且尝试将数据库从一个数据库复制到另一个数据库(在我的开发机上).我收到以下错误: #1452-无法添加或更新子行:外键约束失败 在幕后,PMA似乎正在执行INSERT INTO … SELECT查询. 有没有办法让PMA正确复制此数据库?或者,是否有更好的工具与我应该使用的MySQL配合

有人可以帮助我了解外键更新和删除与关系名称吗?

目前,我正在研究MySQL InnoDB中用户数据库的最开始.因此,我将使用它来帮助演示. Users Roles --------------- --------------- userid (bigint) PK >roleid (tinyint) PK email (varchar) rolename (varchar

从具有外键约束的MySQL表中删除

我有两个表,其中加载了一些数据,并且两个表相互引用.表B引用了表A的主键.我手动尝试从表A中删除表B中存在的一些表行,并且得到以下信息: #1451-无法删除或更新父行:外键约束失败(TableA.TableB,CONSTRAINT TableB_ibfk_2 FOREIGN KEY(列)参考抽认卡(primaryKeyColumn)) 我不太确定这

MySQL外键约束-错误1452-无法添加或更新子行

我已经使用了有关该主题的其他帖子,但是我没有运气. 这是我执行的代码: UPDATE tblOrderItems SET `ItemID` = 0004 WHERE `OrderNum`= 203 AND `OrderItemID` = 26 这是我的错误: Error Code: 1452. Cannot add or update a child row: a foreign key constraint fails (`cai0066

Android SQLite外键语法错误

我刚刚开始在Android应用程序中使用SQLite数据库.我正在尝试制作“团队”表和“玩家”表,并且我希望“玩家”表具有外键,该外键引用“团队”表的自动递增_ID字段(我认为此_ID字段来自在我的合同类中实现BaseColumns).我以为语法正确,但出现以下错误(即使在卸载并重新安装我的应用程

mysql-如何向现有表添加外键?

我正在尝试将Category_Name作为外键添加到ITEM表中. Category_Name存在于CATEGORY表中,这是我得到的: mysql> use acmeonline; Database changed mysql> show tables; +----------------------+ | Tables_in_acmeonline | +----------------------+ | category | | ite

MySQL中的外键:错误1005

我对在MySQL中添加外键有些困惑 我想做的是参考带有以下内容的学生主键: CREATE TABLE Enrolled(sid CHAR(20), cid CHAR(20), grade CHAR(2), PRIMARY KEY (sid, cid), FOREIGN KEY (sid) REFERENCES Students); 但是,我得到的是 ERROR 1005 (HY000): Can't create table 'test_

存档Django模型

我正在创建一个在线订购系统,用于定期销售商品(蔬菜盒的送货上门).我有一个“订单”模型(简化),如下所示: class BoxOrder(models.Model): customer = models.ForeignKey(Customer) frequency = models.IntegerField(choices=((1, "Weekly"), (2, "Fortnightly))) item