草庐IT

Mysql - 无法添加外键约束,SQL查询中没有外键

这道题和同类题完全不一样。SQL查询中没有外键。这是我在远程服务器上导入SQL文件时看到的一个愚蠢的错误。这是SQL代码CREATETABLE`locations`(`id`int(10)UNSIGNEDNOTNULL,`title`varchar(191)COLLATEutf8mb4_unicode_ciNOTNULL,`created_at`timestampNULLDEFAULTNULL,`updated_at`timestampNULLDEFAULTNULL)ENGINE=InnoDBDEFAULTCHARSET=utf8mb4COLLATE=utf8mb4_unicode_c

mysql - 如何识别MySQL DB中的外键?

如何识别MySQL数据库表中的外键? 最佳答案 来自http://dev.mysql.com/doc/refman/5.1/en/innodb-foreign-key-constraints.html显示创建表tbl_name;您还可以像这样显示表的外键约束:从db_nameLIKE'tbl_name'显示表状态; 关于mysql-如何识别MySQLDB中的外键?,我们在StackOverflow上找到一个类似的问题: https://stackoverflo

mysql - 基于外键连接表

我有一个表,其中有很多字段是引用相关表的外键。我正在用PHP编写一个脚本来执行数据库查询。当我查询此表的数据时,我需要知道与这些键关联的值而不是键。大多数人是如何处理这个问题的?执行此操作的101方法是查询此表以获取其数据(包括外键),然后查询相关表以获取每个键的值。这可能是很多查询(~10)。问题1:我想我可以用一堆联接编写1个查询。那会更好吗?这种方法还需要查询脚本知道哪些表字段是外键。因为我有很多这样的表,但都有不同的字段,这意味着很难编写好的通用函数。MySQLInnoDB表允许外部约束。我知道数据库已经正确设置了这些。问题2:查询表并确定约束是什么,然后使用我从问题1中决定的

mysql - 是否需要多个外键?

我有表A,这个表有3个外键(id_tableA1、id_tableA2、id_tableA3)。我需要一个包含表A中的外键的表。我在MySQLWorkbench中建模,同一程序创建了以下结构:表BtableB_id(pk)tableA_id(fk)tableA1_id(fk)tableA2_id(fk)tableA3_id(fk)这真的有必要吗?使用tableA_id还不够吗?然后(如果我决定有必要)从tableA1、tableA2和tableA3中检索数据?如果你们解决了同样的问题,请告诉我这个问题的网址。英语不是我的主要语言,我在搜索时遇到了麻烦。 最佳

mysql - 无法在具有相同列的 MySQL 中添加外键

我有两个表,每个表都有一个provider列:CREATETABLE`title`(`provider`varchar(40)CHARACTERSETlatin1NOTNULL,CREATETABLE`notification`(`provider`varchar(40)CHARACTERSETlatin1NOTNULL,但是,当我尝试添加外键时ALTERTABLEnotificationADDFOREIGNKEY(provider)REFERENCEStitle(provider)我收到以下模糊错误:Can'tcreatetable'metadata.#sql-c91_345b'(e

php - 构建PHP函数以检索各种mySQL数据库查询并通过外键关系正确遍历多个表

我正在尝试构建一个强大的php函数,它允许我遍历我的规范化数据库。我的mySQL数据库有6个表,这些表的列名如下(为了简单起见,我只包括主键和外键,以及一些有限的表列),以便您可以看到它们之间的关系。表A:partID(主键)tableABJunctionitemID(外键)partID(外键)表BitemID(主键)项目名称销售额客户ID(外键)itemID(外键)部分日期itemID(外键)客户客户ID(主键)名字第一姓氏当我需要生成查询时,例如:订购itemID=12的客户的姓名是什么?我必须首先从销售数据库查询itemID=12的所有customerID,然后查询客户表以找出他

mysql - 外键约束不起作用

我用以下数据创建了两个表脚本:CREATETABLEPersons(P_IdintNOTNULL,LastNamevarchar(255)NOTNULL,FirstNamevarchar(255),Addressvarchar(255),Cityvarchar(255),PRIMARYKEY(P_Id))ENGINE=InnoDB;CREATETABLEOrders(O_Idint,OrderNoint,P_IdintNOTNULL,PRIMARYKEY(O_Id),FOREIGNKEY(P_Id)REFERENCESPersons(P_Id)ONDELETECASCADEONUPDA

php - 在 PHP MySQL 查询中获取外键对象的简洁方法

我使用以下代码从我的MySQL数据库中获取一本书对象。$q=$pdo->prepare('SELECTbook_id"id",book_title"title",book_slug"slug"FROMbookWHEREbook_id=:id');$q->bindParam(':id',$id,PDO::PARAM_INT);$q->execute();$book=$q->fetchObject('Book');书籍与歌曲之间存在多对多关系,歌曲有song_id、song_title和song_lyrics,所以我有一个book_song包含book_id和song_id的表格。我想获取

mysql - 在 MYSQL 中声明外键时出现语法错误(使用 innoDB)

我有以下表格:CREATETABLEIFNOTEXISTSbooks(book_idvarchar(50)NOTNULL,book_titlevarchar(50)NOTNULL,courseidvarchar(50)NOTNULL,FOREIGNKEY('courseid')REFERENCES'course'('course_id')ONDELETECASCADE)ENGINE=InnoDBDEFAULTCHARSET=latin1;CREATETABLEIFNOTEXISTScourse(course_idvarchar(50)NOTNULL,yearvarchar(50)NOT

mysql - MVC 删除具有多个所需外键约束的记录

从MVC中的连接负载表中删除一点都不好玩。类似的问题与单个外键有关,我的情况非常独特,我保证它本身就是一个问题(如果没有,请指出我的引用)我有这个模型(它充当我与有效载荷的联合表——它充当ApplicationUser和Car之间的联合表,这两个数据模型都是数据模型)publicclassUserHasCar{//Foreignkeys[Key,Column(Order=0)]publicstringApplicationUserId{get;set;}[Key,Column(Order=1)]publicintCarId{get;set;}//Navigationproperties