【mysql – 如何在同一个查询中使用外键计算表中的行数?】教程文章相关的互联网学习教程文章

mysql-errno 150:外键约束格式错误【代码】

我已经读过很多关于此错误的问题,或者我不了解正在发生的事情/答案,或者不适合我的情况. 我已经有一个简单的用户表:CREATE TABLE user (id INT PRIMARY KEY NOT NULL AUTO_INCREMENT,username VARCHAR(50) NOT NULL,password VARCHAR(64) NOT NULL ); CREATE UNIQUE INDEX user_username_uindex ON user (username);我想添加一个引用用户ID的帖子表:CREATE TABLE post (id INT PRIMARY KEY NOT NULL AUTO_INCREMENT,title VARCHA...

php-这是Mysql外键的工作吗?

在过去的几年中,我读了很多关于MySQL中的外键的文章,尽管最近没有.我知道它们非常适合在论坛主题下使用子帖子,例如,如果我删除一个与该主题相关的帖子,其中有100个帖子与该主题相关联,那么外键将使其对我删除那100个主题,我是否正确? 我正在php / mysql中的社交网络上工作,有一个带有用户ID的用户表,然后通过该用户ID字段将大约10个其他表连接到该表,我是否应该在此上使用外键?我将永远不需要更新所有表,但是例如,如果用户删除那...

MySQL区分大小写的文本数据外键

我的主表中有英文的ISO 639-2语言代码(eng,fre,hin等)作为主键.此列是may表中的外键.现在,我的问题是,即使我的主人只有小写的值,由于人为错误,某些值也以混合大小写的形式添加到了其他表中,这些表的语言为id.即使有外键,也不能阻止它的发生.现在这是我第一次使用MySQL,之前是我在Oracle上工作,它对键应用了区分大小写的功能.要在MySQL中具有相同功能应该怎么做?另外,列类型应该是什么?现在是varchar(3).我应该将其转换为其他东西...

MySQL外键约束On Delete和On Update的使用

On Delete和On Update都有Restrict,No Action, Cascade,Set Null属性。现在分别对他们的属性含义做个解释。 ON DELETErestrict(约束):当在父表(即外键的来源表)中删除对应记录时,首先检查该记录是否有对应外键,如果有则不允许删除。 no action:意思同restrict.即如果存在从数据,不允许删除主数据。 cascade(级联):当在父表(即外键的来源表)中删除对应记录时,首先检查该记录是否有对应外键,如果有则也删除外键在子表(...

mysql-用外键将表拆分成两个表【代码】

我有一个表:drupal.comments,以及其他各列:cid: primary key uid: foreign key to users table, optional name: varchar, optional email: varchar, optional描述说:UID是可选的,如果为0,则匿名注释.在这种情况下,将设置名称/电子邮件. 我想将其分为两个表rails.comments和rails.users,其中始终有一个用户:id: primary key users_id: foreign key, always set.因此,对于每个drupal.comment,我需要从drupal.comments.name/drup...

mysql-错误更改表,添加约束外键得到错误“无法添加或更新子行”【代码】

mysql> DESCRIBE questions; +----------+--------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +----------+--------------+------+-----+---------+----------------+ | id | int(255) | NO | PRI | NULL | auto_increment | | question | varchar(255) | NO | | NULL | | | type | char(1) | YES ...

mysql-错误1215无法添加外键约束【代码】

桌子货物DROP TABLE IF EXISTS "hibernatecurso"."cargo"; CREATE TABLE "hibernatecurso"."cargo" ("idcargo" int(11) NOT NULL DEFAULT '0',"funcao" varchar(45) DEFAULT NULL,PRIMARY KEY ("idcargo") ) ENGINE=InnoDB DEFAULT CHARSET=utf8;表EMPREGADODROP TABLE IF EXISTS "hibernatecurso"."empregado"; CREATE TABLE "hibernatecurso"."empregado" ("idempregado" int(11) NOT NULL DEFAULT '0',"nome" varchar(45) NOT...

MySQL重复外键约束【代码】

当我尝试导入数据库时??出现此错误SQL query: ALTER TABLE `bid` ADD CONSTRAINT `bid_ibfk_4` FOREIGN KEY (`auction_contact_id`) REFERENCES `auction_contact` (`auction_contact_id`), ADD CONSTRAINT `bid_ibfk_3` FOREIGN KEY (`car_id`) REFERENCES `car` (`car_id`)MySQL said: Documentation #1826 - Duplicate foreign key constraint name 'projekt_classics/bid_ibfk_3'查看所有外键,我得到的结果select * from INFOR...

MySQL外键约束关键字

1主表(父表):对于两个具有关系的表而言,相关联的字段中主键所在的表即为主表。 2从表(子表):对于两个具有关系的表而言,相关联的字段中外键所在的表即为从表。 外键的作用是在多张表的数据之间建立关系,确保多个表之间数据的一致性丶完整性。一个表中可以有零到任意多个外键。外键属于引用完整性,一个表的外键可以为空值,若部位空值,则每一个外键值必须等于另一个表中主键的某个值。定义外键后,不允许删除在另一个表中...

mysql – 创建主键和外键关系【代码】

我正在尝试创建一个表名帐户.我在mysql workbench中创建了一个可视化图表.我从图中复制了sql命令尝试从命令行创建真实表,但命令行正在显示ERROR 1215 (HY000): Cannot add foreign key constraint这是查询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 ), FOREIGN KEY ...

Mysql:用外键删除两个表中的行【代码】

我有两个数据表.我想删除两个表中的行.但是他们之间有外键.我怎样才能做到这一点?departureid departure_date1 2016-09-292 2016-09-30departure_timeid departure_id (fk)1 12 2最好的办法是让查询获取所有要删除的行,并同时删除两个表中的行.有没有办法在不删除约束/ FK的情况下执行此操作? 在这个例子中,说我想删除所有离开日期2016-09-30 (删除出发:id 2和departure_time:id:2)解决方...

mysql – 多列外键:将单列设置为Null“ON DELETE”而不是全部【代码】

概述:给定多个列的外键,其中一些可能为NULL.默认情况下(MATCH SIMPLE)只要多列外键的至少一列为NULL,MySQL / MariaDB InnoDB就不会检查外键. 要求:如果从父对象中删除了一行,则应将相应子对象的一列设置为NULL,而不是外键中的两列. 示例/说明:学生可能会被列为讲座,也可能是其中一个讲座组.如果讲座被删除,则应删除所有学生列表(Works)及其所有组(Works).如果只删除了一个组,那么学生仍应列入讲座,但不应再将他们分配到一个组(问...

外键和MySQL错误【代码】

我有以下脚本在MySQL版本5.1中创建一个表来引用其他3个表.所有3个表都是使用InnoDB创建的,并且所有3个表都将ID列定义为INT. 我已成功创建了其他表,引用了ACCOUNT和PERSON,但是,这是第一个引用ADDRESS的表,所以我在下面也包含了该表的定义,如下所示. 我得到的错误是ERROR 1005(HY000)与errno 150,我理解与外键创建有关. 失败的脚本是(为简单起见,删除了额外的列):CREATE TABLE WORK_ORDER (ID INT NOT NULL AUTO_INCREMENT PRIMARY...

mysql – Laravel 5.1迁移和种子无法截断外键约束中引用的表【代码】

我正在尝试运行迁移(见下文)并为数据库播种,但是当我运行时php artisan migrate --seed我收到此错误:Migration table created successfully. Migrated: 2015_06_17_100000_create_users_table Migrated: 2015_06_17_200000_create_password_resets_table Migrated: 2015_06_17_300000_create_vehicles_table[Illuminate\Database\QueryException] SQLSTATE[42000]: Syntax error or access violation: 1701 Cannot truncate a tab...

MySQL无法创建外键约束【代码】

我在创建mysql数据库中现有表的外键时遇到了一些问题. 我有表格exp:+-------------+------------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +-------------+------------------+------+-----+---------+-------+ | EID | varchar(45) | NO | PRI | NULL | | | Comment | text | YES | | NULL | | | Init...