创建约束后,它们会获得类似于“ FK5E6B788655A1514E”的名称. 我想知道名称生成是确定性的还是随机的.我注意到,我正在使用的两个单独的数据库,具有相同的架构,最终都具有相同的FK名称. 将升级脚本从模式的一个版本编写到另一个版本以使用这些约束名称时,这有意义吗?解决方法:我一直想知道这个问题已经有一段时间了,今天在做一些自己的研究后偶然发现了您的帖子.希望我发现的内容能对您有所帮助. 从http://dev.mysql.com/doc/refma...
我已经看过其他人关于此主题的问题,但似乎找不到我的错误出处.任何帮助将不胜感激.我包括了我能想到的尽可能多的东西,这可能有助于发现问题:CREATE TABLE stocks ( id INT AUTO_INCREMENT NOT NULL, user_id INT(11) UNSIGNED NOT NULL, ticker VARCHAR(20) NOT NULL, name VARCHAR(20), rating INT(11), position ENUM("strong buy", "buy", "sell", "strong sell", "neutral"), next_look DATE, privacy ENUM("public", "privat...
我正在尝试在MySQL中的表上创建外键,但遇到一个奇怪的错误,即在我的任何搜索中似乎都没有多少信息. 我正在创建密钥(从mysql workbench 5.2发出):ALTER TABLE `db`.`appointment` ADD CONSTRAINT `FK_appointment_CancellationID`FOREIGN KEY (`CancellationID` ) REFERENCES `db`.`appointment_cancellation` (`ID` )ON DELETE NO ACTIONON UPDATE NO ACTION , ADD INDEX `FK_appointment_CancellationID` (`CancellationID` ASC)...
我正在使用phpMyAdmin,并且尝试将数据库从一个数据库复制到另一个数据库(在我的开发机上).我收到以下错误: #1452-无法添加或更新子行:外键约束失败 在幕后,PMA似乎正在执行INSERT INTO … SELECT查询. 有没有办法让PMA正确复制此数据库?或者,是否有更好的工具与我应该使用的MySQL配合使用(最好是基于GUI)?解决方法:导出原始数据库,然后将其导入到新数据库-导出中创建的SQL将具有“禁用键”指令,这将使您跨过障碍.
我正在建立一个数据库表,表示一个“注释”,该注释在其两个列中具有父子关系,如下所示:ID INT(10) PK NOT NULL UNSIGNED ZEROFILL AUTOINCREMENT -- Primary key parent_ID INT(10) UNSIGNED ZEROFILL -- References Primary key username VARCHAR(30) NOT NULL information VARCHAR(256) NOT NULL comment VARCHAR(256) NOT NULL其中,用户名是用户表的外键,是编写注释者的用户名,信息是注...
我有两个表,其中加载了一些数据,并且两个表相互引用.表B引用了表A的主键.我手动尝试从表A中删除表B中存在的一些表行,并且得到以下信息: #1451-无法删除或更新父行:外键约束失败(TableA.TableB,CONSTRAINT TableB_ibfk_2 FOREIGN KEY(列)参考抽认卡(primaryKeyColumn)) 我不太确定这是怎么回事.据我了解,如果我删除了TableA的某些行,那么它们也应该自动删除表B中存在的相应行(即,如果它们存在于表B中),但显然这里不是这种情况,这提...
我已经使用了有关该主题的其他帖子,但是我没有运气. 这是我执行的代码: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`.`tblOrderItems`, CONSTRAINT `ItemID` FOREIGN KEY (`ItemID`) REFERENCES `tblCatalogItems` (`ItemID`))笔记: >当我在tblOrderItems中插入或更新时...
我正在尝试将Category_Name作为外键添加到ITEM表中. Category_Name存在于CATEGORY表中,这是我得到的:mysql> use acmeonline; Database changed mysql> show tables; +----------------------+ | Tables_in_acmeonline | +----------------------+ | category | | item | +----------------------+ 2 rows in set (0.00 sec)mysql> describe item; +-------------+--------------+------+-----+------...
我对在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_db.Enrolled' (errno: 150)我四处搜寻,发现 MySQL “ERROR 1005 (HY000): Can’t create table ‘foo.#sql-12c_4’ (errno: 150)” 但是,我的学生表已经有...
我在向现有表添加外键时遇到问题,我总是遇到错误ERROR 1005(HY000): Can't create table '#sql-a1f-b84' (errno: 150)我试过像ALTER TABLE alliances ADD CONSTRAINT fk_alliance_id FOREIGN KEY (alliance_id) references alliances(id);当我描述联盟时;Field Type Null Key Default Extra id int(11) NO PRI NULL auto_increment name bigint(2) YES NULL 当我进行DESCRIBE Alliance_invitat...
我有桌子items products brands他们的内容:products: - samsung galaxy s2 - iphone 5brands - samsung - apple物品和产品之间的区别如下: 产品就是说iPhone.商品是具有特定属性(例如颜色和购买价格)的特定用户的特定iPhone. 该产品iPhone具有Apple的品牌/制造商. 插入新项目时,我希望数据库从该项目所属产品中获取品牌,因此我的外键设置如下:'db_name`.'products'.`productBrand`我有两个品牌的ATM-三星和苹果. 当我尝试通过ph...
我正在创建表,但出现此错误: -外键引用和被引用列的数量不一致. 我不知道该怎么解决.我认为声明3个外键可能是一个问题,但是我不确定. 问题是什么? 谢谢!Create table Trasllat ( Data Date, Codi_Empleat Integer, Nom_agencia Varchar(30), Data_fi Date, Primary key (Data, Codi_Empleat), Foreign key (Data) references Data on delete cascade, Foreign key (Codi_empleat) references Empleat on delete cascade Foreign...
我需要通过迁移和播种数据库来更新现有的Laravel应用程序. 我有一个如下表: 项目 > ID>名称 我想将数据库编辑为: 项目 > ID>名称> type_id(新列) 类型(新表) > ID>名称 type_id是类型表的非空外键. 在接下来的操作中,类型表将使用Laravel播种器播种.每次应用程序更新后将调用此种子服务器,并截断/重新插入一些仅随应用程序更新而变化的“静态”数据.针对本地/生产差异的配置方式类似于Laravel : Migrations & Seeding for produc...
我正在为MySQL中的关联表编写脚本,并且它在第二个外键约束下停止编译.有谁知道这可能是错的吗?拜托,我将不胜感激!create table Adviser(AdviserID integer not null,LastName char(25) not null,FirstName char(25) not null,AdviserEmail varchar(100) not null,OfficePhoneNumber char(12) not null,constraint Adviser_pk primary key(AdviserID),constraint Adviser_fk foreign key(OfficePhoneNumber)references Department...
我将尝试通过一个例子来解释这种情况: 我有2个表A和B,它们之间是“一对多”关系,B由单个键(pk_B)标识,A由几个键(pk_A1和pk_A2)标识.因此,我们有两个表:B(pk_B, attr1, attr2, attr3);A(pk_A1, pk_A2, attr1, attr2, fk_B);由于某些原因,A表中的fk_B可以是这对主键的一部分,因此主键为pk_A1 + pk_A2 + fk_B. 有可能吗如果我太普通了,我很抱歉.如果您愿意,我可以尝试通过一个具体的例子更清楚地说明情况. 更新: 例 我有两个表,“ ...