MySQL 什么时候建立外键? [问题点数:20分]

Bbs1
本版专家分:0
结帖率 0%
Bbs2
本版专家分:291
Bbs1
本版专家分:10
Bbs1
本版专家分:0
Bbs2
本版专家分:235
Bbs1
本版专家分:0
关于mysql建立外键的问题
有一个主表字段u_id(主键),u_name等字段,关联表字段id(主键),u_id,u_name(u_id和u_name的数据是对应主表的)那么能不能建一个<em>外键</em>foreign key(u_id,u_name)同时限制这两个字段?rnrn比如说我主表的u_id和u_name改变了,或者是u_id和u_name其中一个改变了,那么从表能否这两个字段(u_id,u_name)也跟着一起变?
mysql 建立外键出现的问题
<em>mysql</em> 建<em>外键</em>的时候出150错误 Mysql错误:error Code: 1005. Can't create table 'joblog.sc' (errno: 150) create table sc ( id int(10) unsigned not null auto_increment comment 'id', Sno int(10) u...
MySQL中建立外键问题
哪位高手能给发一些有关MySQL中<em>建立</em><em>外键</em>约束的详细介绍资料,本人在table中<em>建立</em><em>外键</em>约束时总是提示同一个错误“ERROR 1005 (HY000): Can't create table 'xxx' (errno: 121)”,不知该如何解决,因此在建table时,不敢加<em>外键</em>约束,在网上收了很久都没找到有关的详解,很是苦恼。rn 还请各位高人给予指教!
MySQL 新建数据库、建立索引、建立外键
MySQL数据表创建、 添加索引、创建<em>外键</em>、修改引擎操作。
MySQL:外键外键的使用
<em>外键</em>及<em>外键</em>的使用 如果公共关键字在一个关系中是主关键字,那么这个公共关键字被称为另一个关系的<em>外键</em>。 由此可见,<em>外键</em>表示了两个关系之间的相关联系。以另一个关系的<em>外键</em>作主关键字的表被称为主表,具有此<em>外键</em>的表被称为主表的从表。<em>外键</em>又称作外关键字。 表间关系有一对一,一对多和多对多。 首先我们举个简单的栗子 学生表,老师表,班级表 一个学生属于一个班级,一个班里有多个学生。一个学生可以被多个老师授课,一个...
如何建立一个主外键依赖?(mysql)
CREATE TABLE IF NOT EXISTS tb_dep (rn depId int(4) NOT NULL DEFAULT '0' auto_increment,rn depName varchar(80) NOT NULL DEFAULT '' ,rn parentid int(4) NOT NULL DEFAULT '0' ,rn depDirector varchar(20) DEFAULT '' ,rn depTel varchar(20) DEFAULT '' ,rn depFax varchar(20) DEFAULT '' ,rn depAddress varchar(80) DEFAULT '' ,rn depConnecter varchar(100) DEFAULT '' ,rn PRIMARY KEY (depId)rn);rnrnCREATE TABLE IF NOT EXISTS tb_user (rn userId int(4) NOT NULL DEFAULT '0' auto_increment,rn userName varchar(20) NOT NULL DEFAULT '' ,rn realName varchar(20) NOT NULL DEFAULT '' ,rn depId int(4) NOT NULL DEFAULT '0' ,rn passWord varchar(30) NOT NULL DEFAULT '' ,rn Mobile varchar(11) ,rn OfficeTel varchar(20) ,rn E_Mail varchar(40) ,rn RecordNumber varchar(20) ,rn state int(4) DEFAULT '0' ,rn PRIMARY KEY (userId)rn);rnrn现在想用tb_dep里面的DepId 作主键,tb_user里的depId作<em>外键</em>来作一个依赖,我是这样写的,请问为什么不成功?rn ALTER TABLE tb_user ADDrn CONSTRAINT FK_tb_user_tbdep FOREIGN KEYrn (rn DepIDrn ) REFERENCES tb_dep (rn DepIDrn ) ON DELETE CASCADE ON UPDATE CASCADE
mysql如何对联合主键建立外键
如题
使用mysql的时候无法建立外键的问题
我在使用<em>mysql</em>的时候为了使表<em>建立</em>数据完整性约束,所以要为表<em>建立</em><em>外键</em>,但是<em>建立</em>时遇到了以下的问题:rn1.无法<em>建立</em>删除约束:在使用sqlyog<em>建立</em><em>外键</em>时,勾选“在更新时”,选择“约束”,点击“创建”,创建后发现自动将“在更新时”的选项取消了,约束也没<em>建立</em>成功,但是<em>外键</em>的一对多关系<em>建立</em>成功了,只是无法删除主键表数据,提示<em>外键</em>表存在相应的数据,所以无法删除主键表数据rnrn2.为另一字段<em>建立</em><em>外键</em>约束时有如下提示“alter table `db_software_manager`.`plan_info` add constraint `FK_plan_info` FOREIGN KEY (`project_name`) REFERENCES `project_info` (`project_name`)”rn错误信息“Duplicate key name 'FK_plan_info'”rnrnrn两表字段数据类型一致,长度一致,两表均为innodB引擎,请问大家知道为什么为出现这两种错误吗?rnrn
mysql外键不能建立的问题?
请大家给我找几个可能出现这个问题的答案,越全越好。
[菜鸟]mysql 建立外键的表的问题
表1可以<em>建立</em>:rn[code=SQL]rn-- -----------------------------------------------------rnrn-- Table `mydb`.`stu_info`rnrn-- -----------------------------------------------------rnrnCREATE TABLE IF NOT EXISTS `mydb`.`stu_info` (rnrn `stu_id` INT NOT NULL ,rnrn `stu_name` VARCHAR(10) NOT NULL ,rnrn `class_id` INT NOT NULL ,rnrn `sex` INT NOT NULL ,rnrn `brithday` DATETIME NOT NULL ,rnrn `brithplace` VARCHAR(45) NULL ,rnrn `department` VARCHAR(45) NOT NULL ,rnrn `political` VARCHAR(45) NOT NULL ,rnrn PRIMARY KEY (`stu_id`, `class_id`, `stu_name`) ,rnrn INDEX `class_id` (`class_id` ASC) ,rnrn CONSTRAINT `class_id`rnrn FOREIGN KEY (`class_id` )rnrn REFERENCES `mydb`.`class_info` (`class_id` )rnrn ON DELETE NO ACTIONrnrn ON UPDATE NO ACTION)rnrnENGINE = InnoDB;[/code]rnrn表2可以<em>建立</em>:rn[code=SQL]rn-- -----------------------------------------------------rnrn-- Table `mydb`.`stu_contact`rnrn-- -----------------------------------------------------rnrnCREATE TABLE IF NOT EXISTS `mydb`.`stu_contact` (rnrn `stu_id` INT NOT NULL ,rnrn `qq` VARCHAR(15) NULL ,rnrn `email` VARCHAR(25) NULL ,rnrn `mobile` VARCHAR(12) NOT NULL ,rnrn `telephone` VARCHAR(12) NULL ,rnrn `address` VARCHAR(45) NULL ,rnrn `postcode` VARCHAR(8) NULL ,rnrn PRIMARY KEY (`stu_id`) ,rnrn INDEX `stu_id` (`stu_id` ASC) ,rnrn CONSTRAINT `stu_id`rnrn FOREIGN KEY (`stu_id` )rnrn REFERENCES `mydb`.`stu_info` (`stu_id` )rnrn ON DELETE NO ACTIONrnrn ON UPDATE NO ACTION)rnrnENGINE = InnoDB;rnrn[/code]rn表3的结构和表2一样,但是就是<em>建立</em>不了,那个constraint也没有重名,<em>外键</em>和参照的列的类型也是一样的,请大虾们指导啊..rn[code=SQL]rn-- -----------------------------------------------------rnrn-- Table `mydb`.`user_info`rnrn-- -----------------------------------------------------rnrnCREATE TABLE IF NOT EXISTS `mydb`.`user_info` (rnrn `stu_name` VARCHAR(10) NOT NULL ,rnrn `user_pwd` VARCHAR(10) NOT NULL ,rnrn `user_power` INT NOT NULL ,rnrn PRIMARY KEY (`stu_name`) ,rnrn INDEX `stu_name` (`stu_name` ASC) ,rnrn CONSTRAINT `stu_name`rnrn FOREIGN KEY (`stu_name` )rnrn REFERENCES `mydb`.`stu_info` (`stu_name` )rnrn ON DELETE NO ACTIONrnrn ON UPDATE NO ACTION)rnrnENGINE = InnoDB;[/code]rn报错:ERROR 1005 (HY000): Can't create table '.xxxxx.frm' (errno: 150) 为什么呢?
mysql外键索引的建立(建表时)和查看
索引的意义就不说了,参考其他资料,总之就是大大加快查询,删除,更新的速度。牺牲了小部分物理空间,毕竟索引也是要存的。(B+树原理) 所以设计索引的时候尽量做到区分度好,例如默认情况下主键就是一个索引。 经典的多对多学生选课模型,学生表students,课表courses,学生选课表sc CREATE TABLE `student` ( `Sno` varchar(20) NOT NULL, ...
mysql建立外键出错,求原因及解决方法
img=http://][/img]我按照图中的scheme<em>建立</em>表,红色方框这个地方的<em>外键</em>约束添加就出错,大神教我怎么解决
mysql中如何建立外键关系
<em>外键</em>表中的<em>外键</em>必须为主键,主表的DID和从表的ID属性至少能相互转换, 删除时最好选择no action,选择set null很可能会报错,更多请参考下面的链接 http://www.th7.cn/db/<em>mysql</em>/201308/33641.shtml
mysql建立外键联系失败为什么?
有两个表rnrn第一个是game表rnrn```rnCREATE TABLE game(rngameID INT(1),rngameDate DATETIME,rngameLocation VARCHAR(20),rnopponent VARCHAR(20),rnPRIMARY KEY (gameID)rn) ENGINE = MYISAM AUTO_INCREMENT = 5 DEFAULT CHARSET = utf8;rn```rnrn第二个是tactics表,需要与game中的gameID<em>外键</em>连接rnrn```rnCREATE TABLE tactics(rntacticsNumber INT(2),rngameID INT(1),rntacticsName VARCHAR(10) NOT NULL,rnPRIMARY KEY (tacticsNumber),rn-- <em>建立</em><em>外键</em>,关联到game表rnCONSTRAINT fkGameTactics FOREIGN KEY (gameID) REFERENCES game(gameID)rn);rn```rnrn显示fail to open the referenced table ‘game’,求解?
mysql建立外键发生错误,求救
CREATE TABLE `szs_jihuadan_items_price` (rn `szs_shengchanhao` varchar(255) NOT NULL,rn `szs_guige` varchar(255) NOT NULL,rn `szs_ptuhao` varchar(255) NOT NULL,rn `szs_price` float NOT NULL,rn `szs_beizhu` text NOT NULL,rn PRIMARY KEY (`szs_shengchanhao`,`szs_guige`,`szs_ptuhao`)rn ) ENGINE=InnoDB DEFAULT CHARSET=utf8rnrnCREATE TABLE `szs_pl_stock` (rn `id` int(8) unsigned zerofill NOT NULL auto_increment,rn `sch` varchar(255) NOT NULL COMMENT '生产号',rn `gg` varchar(255) NOT NULL COMMENT '规格',rn `th` varchar(255) NOT NULL COMMENT '图号',rn `subNm` varchar(255) NOT NULL COMMENT '子部件',rn `gid` varchar(4) NOT NULL COMMENT '工步号',rn `sl` decimal(12,2) default NULL COMMENT '库存量',rn `bz` text,rn PRIMARY KEY (`id`),rn UNIQUE KEY `NewIndex1` (`sch`,`gg`,`th`,`subNm`,`gid`)rn ) ENGINE=InnoDB AUTO_INCREMENT=14867 DEFAULT CHARSET=utf8 CHECKSUM=1 DELAY_KEY_WRITE=1 ROW_FORMAT=DYNAMICrnrnszs_pl_stock要<em>建立</em><em>外键</em>,sch,gg,th关联到szs_jihuadsan_items_price的szs_shengchanhao,szs_guige,szs_ptuhao,rn当szs_pl_stock没有数据的时候可以<em>建立</em>,有数据的时候<em>建立</em>的时候发生以下错误:rnalter table `szs_jihuadan`.`szs_pl_stock` add constraint `FK_szs_pl_stock` FOREIGN KEY (`sch`,`gg`,`th`) REFERENCES `szs_jihuadan_items_price` (`szs_shengchanhao`,`szs_guige`,`szs_ptuhao`) ON DELETE RESTRICT ON UPDATE CASCADE rnrn[color=#FF0000]Cannot add or update a child row: a foreign key constraint fails (`szs_jihuadan/#sql-6b0_16b`, CONSTRAINT `FK_szs_pl_stock` FOREIGN KEY (`sch`, `gg`, `th`) REFERENCES `szs_jihuadan_items_price` (`szs_shengchanhao`, `szs_guige`, `szs_ptuhao`) ON UPDATE CASCAD)[/color]rnrn为什么?rn
Mysql外键
<em>外键</em>技术点: (1)只有InnoDB类型的表才可以使用<em>外键</em>。MyISAM类型不支持<em>外键</em>约束; (2)<em>外键</em>的好处:可以使得两张表关联,保证数据的一致性和实现一些级联操作; (3)<em>外键</em>的作用: 保持数据一致性,完整性,主要目的是控制存储在<em>外键</em>表中的数据。 使两张表形成关联,<em>外键</em>只能引用外表中的列的值! (4)<em>建立</em><em>外键</em>的前提: 两个表必须是InnoDB表类型。 使用在<em>外键</em>关系的域必须为索引...
mysql外键
自己写的不好,详细借鉴别人写的,链接地址为点击打开链接
mysql外键
在向数据库中添加数据时,出现以下问题rnrnCannot add or update a child row: a foreign key constraint fails (`shoppingbook10_1`.`tb_book`, CONSTRAINT `tb_book_ibfk_1` FOREIGN KEY (`subTypeId`) REFERENCES `tb_subtype` (`subTypeId`))rnrn
MySQL外键
一、什么是<em>外键</em> 二、<em>外键</em>的基本用法 三、<em>外键</em>在表与表(类)关系构建作用 四、<em>外键</em>的原理
MYSQL外键
请注意 : 1、<em>外键</em>约束只能在innodb引擎下使用。 2、<em>外键</em>应该在<em>建立</em>子表的时候<em>建立</em>。 3、<em>外键</em>所<em>建立</em>的字段,其字段类型应该与父表中对应的字段类型相同。例如同为INT。若不同在<em>建立</em><em>外键</em>时会报一个150的错误码。 下面我们先来创建一张主表<em>mysql</em>> create table grades( -> id tinyint not null auto_increment pr
MySql 外键
经常忘记<em>外键</em>的创建方式,今天给自己做一个笔记吧! create table t1( id int primary key auto_increment, name varchar(128) ) create table t2( id int primary key auto_increment, name varchar(128) ) create table ft1( id
mysql 外键
Create table s  (sno char(8) primary key, sname char(10) not null, sex char(1), birthday date, classno char(6), totalCredit Smallint ); Create table course  ( cno char(6) primary key, cn
MySQL的外键
<em>外键</em>(foreign key)作用: 用于约束处于关系内的实体 增加从表记录时,是否有与之对应的主表记录,如果有,则可以添加,没有则会 报错。 创建<em>外键</em>的语法:alter table 从表 add constraint <em>外键</em>名称(形如:FK_从表_主表) foreign key 从表(从表字段) references 主表(主表字段)删除<em>外键</em>的语法:alter table 表名 drop fo
MySQL 外键
补充: Comment  ’注释内容’;   Set names gbk;客服端与服务器之间。   <em>外键</em>:   1.概念: 一个实体的某个字段指向另一个实体的主键,那么这个字段就是一个<em>外键</em>。 其中,被指向的实体,叫做主实体(主表),也叫父实体(父表)。 负责指向的实体,叫做从实体(从表),也叫子实体(子表)。   2.作用: 用于约束处于关系内的实体。 增加子表记录时,
关于外键建立问题
比如说我<em>建立</em>下面两个表rncreate table user(rnid bigint(10) premary key auto_increment,rnusername varchar(20),rnpassword varchar(20)rn);rncreate table user_info(rnid bigint(10),rngender char(1);rnage int(2);rn);rn这里可以吧user_info 中的 id字段作为user表的<em>外键</em>吗?rn
[MySql5.0] 建立外键问题
在<em>mysql</em>中先是<em>建立</em>了<em>外键</em>后,发现没有起到作用.仔细检查,排除了是因为两个字段类型不一样的问题.rnrn//create joe1 for testrncreate table joe1 (rn -> id int(10) primary key auto_increment not null,rn -> );rn insert into joe2 ("1");rn//create joe2 for testrncreate table joe2 (rn id int(10) primary key auto_increment not null,rn joe_id int(10) not null ,rn foreign key (joe_id) references joe1(id)rn);rnrn要怎么样才能让表joe2中的joe_id <em>外键</em>起作用呢?
外键建立索引
请问大家在设计表时都在<em>外键</em>上<em>建立</em>索引么?rn是一个<em>外键</em>一个索引好,还是几个<em>外键</em><em>建立</em>一个索引?(不考虑唯一性,就是索引)
为什么要建立外键
好像不<em>建立</em><em>外键</em>也照样能够a join b on a.id=b.idrn<em>建立</em><em>外键</em>的好处能解释一下吗?
[求助]外键不能建立
首先祝大家国庆愉快!rnrnrn下面是正题rnrn[img=http://img013.photo.21cn.com/photos/album/20091001/m620x800/E6DA5239ACC1B05E1212E1AE6154EFCF.jpg][/img]rnrnrn在成绩表中 课程号 学号 都已经是主键rnrnrn1。成绩表的 '课程号' 与 课程表的 '课程号' <em>建立</em><em>外键</em>rn2。成绩表的 '学号' 与 学生表的 '学号' <em>建立</em><em>外键</em>rnrn结果只能完成一个,另一个报错(请看图),顺便说下我所有的<em>外键</em>名称都一样rnrn谢谢大家!
两个外键无法建立
[code=java]rnERROR 1005: Can't create table 'gc_test.food' (errno: 121)rnrnSQL Statement:rnrnCREATE TABLE `gc_test`.`food` (rnrn `foodid` INT UNSIGNED NOT NULL AUTO_INCREMENT,rnrn `imageid` INT UNSIGNED NOT NULL,rnrn `shopid` INT UNSIGNED NOT NULL,rnrn PRIMARY KEY (`foodid`, `imageid`, `shopid`),rnrn INDEX `imageid_idx` (`imageid` ASC),rnrn INDEX `shopid_idx` (`shopid` ASC),rnrn CONSTRAINT `imageid`rnrn FOREIGN KEY (`imageid`)rnrn REFERENCES `gc_test`.`image` (`imageid`)rnrn ON DELETE NO ACTIONrnrn ON UPDATE NO ACTION,rnrn CONSTRAINT `shopid`rnrn FOREIGN KEY (`shopid`)rnrn REFERENCES `gc_test`.`shop` (`shopid`)rnrn ON DELETE NO ACTIONrnrn ON UPDATE NO ACTION)rn[/code]
数据库建立外键的条件
如果一张主表和从表需要<em>建立</em>关系,那么至少满足的条件有:          1、从表的字段名后,必须是唯一,即unique,          2、主表内的值和从表内的值必须有一项以上是一模一样的,          可以不同的有:          1、<em>外键</em>关联的字段名可以不同
如何建立外键
差了许多书也不会rn学生表student (id, name , sex )rn成绩表score (id ,math )rn如何创建表,要求 有主键,有约束
数据库不建立外键
请问一下,有谁知道数据库中的关系表不建<em>外键</em>,如何实现关联查询??????????
[InnoDB建立外键问题]
我的过程如下:rn[code=SQL]--<em>建立</em>主表:rnCREATE TABLE `country` (rn `country_id` int(10) unsigned NOT NULL AUTO_INCREMENT,rn `country` varchar(50) DEFAULT NULL,rn PRIMARY KEY (`country_id`)rn) ENGINE=InnoDB DEFAULT CHARSET=latin1rnrn--<em>建立</em>从表rnrnCREATE table cityrn(rncity_id int not null auto_increment,rncity varchar(20),rncountry_id int,rnprimary key(city_id)rn) engine = InnoDB;rnrn--给<em>外键</em>列加索引rnalter table city add index idx_s(country_id);rnrn--加<em>外键</em>约束 ---这部出错了。。。rnalter table city add constraint fk_city_country rnforeign key(country_id)rnreferences country(country_id);[/code]rn弄了半天 感觉语法没错 。。。。求指教
跨数据库建立外键
因为我把常用的东西独立了出来,比如权限模块rn但是发现权限中用户中因为<em>建立</em>用户要选择是哪家店的帐号,所以就会有帐号是与门店有关系的,rnrn解决方法是有:rn不<em>建立</em><em>外键</em>关系,就是在删除门店的时候,然后来权限模块的帐号表中删除该门店的帐号rnrn不知道有没有好的介意。。。
pd建立外键的问题
pdm中,<em>建立</em>A表的<em>外键</em>引自B表,那么B表的主键会自动被识别并作为A中的<em>外键</em>。rn现在的问题是,想使用B表中其他非主键但是惟一的字段作为A的<em>外键</em>,如何做到呢??
外键建立不上去,求教
我在做学校的软件工程作业,需要利用<em>mysql</em>数据库,于是设计了以下内容,本以为<em>外键</em><em>建立</em>成功了.结果运行后发现没有起到作用。(可插入<em>外键</em>以外的数据、无法防止意外的删除)rn不知道是哪里出了问题,正确的方式应该是如何写呢?rnrndrop database student_score;rncreate database student_score;rnuse student_score;rnrncreate table best_powerrn(rn id nchar(50) primary keyrn);rnrninsert into best_power (id) values('true');rninsert into best_power (id) values('false');rnrncreate table classrn(rn name nchar(50) primary keyrn);rnrncreate table studentrn(rn id nchar(50) primary key,rn name nchar(50) not null,rn class nchar(50) not null references class(name)rn);rnrncreate table teacherrn(rn id nchar(50) primary key,rn name nchar(50) not null,rn password nchar(50) not null,rn best_power nchar(50) not null references best_power(id)rn);rnrncreate table coursern(rn id nchar(50) primary key,rn name nchar(50) not null,rn teacher nchar(50) not null references teacher(id)rn);rnrncreate table scorern(rn student_id nchar(50) not null references student(id),rn course_id nchar(50) not null references course(id),rn score int not null,rn primary key(student_id,course_id)rn);rnrninsert into teacher (id,name,password,best_power) values('root','root','123456','true');rn
关于建立外键的问题!
有三个表t1(sid),t2(bid,sid),ts(cid,sid),表t1中sid为pk,想使表t2、t3中的sid都做为表t1中sid的<em>外键</em>,现在只能<em>建立</em>一个,是何原因?有无办法解决?
建立外键问题
一课程表,里面只有一个字段“课程名”rn还有一课程老师关系表,有“教工号”,“课程名”两个字段rn想设课程老师关系表中的“课程名”为<em>外键</em>rnrn但是弹出错误信息:rn1452-Cannot add or update a child row:a foreign key constraint fails('db_teacher/#sql-b1c_15',CONSTRAINT 'fk_co' FOREIGN KEY('coursename')REFERENCES 'tb_courses' (coursename) ON DELETE CASCADE ON UPDATE CASCADE)rnrn请教是什么出问题了,小弟感激不尽
外键不能正常建立
<em>mysql</em>> create table Recipemaster (rnRno varchar(10) primary key, rnPno char(10) references Patient(Pno), rnDno char(4) references Doctor(Dno), rnRtime Datetime)engine=innodb;rnQuery OK, 0 rows affected (0.02 sec)rnrnrn<em>mysql</em>> desc recipemaster;rn+-------+-------------+------+-----+---------+-------+rn| Field | Type | Null | Key | Default | Extra |rn+-------+-------------+------+-----+---------+-------+rn| Rno | varchar(10) | NO | PRI | NULL | |rn| Pno | char(10) | YES | | NULL | |rn| Dno | char(4) | YES | | NULL | |rn| Rtime | datetime | YES | | NULL | |rn+-------+-------------+------+-----+---------+-------+rn4 rows in set (0.01 sec)rnrnrnrnrn情况如上,没有报错,table正常<em>建立</em>,但是<em>外键</em>并没<em>建立</em>。我确定相关的两个表的引擎也是innodb,而且Pno,Dno都是唯一主键。rn实在想不明白了.
sql外键建立文档
针对于初学者sqlserver<em>外键</em>的<em>建立</em>,详细的介绍了<em>建立</em><em>外键</em>的几种方法。
连接应该在什么时候建立
程序开始时<em>建立</em>,结束时关闭。 效率高rnrn总是在用到时<em>建立</em>,用完后马上关闭。 似乎可以减少因共享而发生的问题,但效率低rnrn不知道实际应用中哪种应选哪种方式?
什么时候建立簇索引?什么时候建立非簇索引?
理论让我看得头晕。
数据库_MySQL: mysql外键和事务
三.<em>外键</em>(foreigkey) 概念: 从表中的公共字段称为<em>外键</em> 作用: <em>外键</em>约束用来保证数据的完整性 1.<em>外键</em>约束 <em>外键</em>特性: 主表没有的数据从表页不能插入 从表有的数据主表不能删除(先删从表,再删主表) 2.创建<em>外键</em> 创建(建表时就加上) 语法: foreig key(<em>外键</em>) references 主表(公共字段) create table users ( id int primary ...
phpstorm操作数据库建立外键
前言 总觉得手写sql没有提示很不方便,终于找到PHPstorm中操作数据库的方法,记录如下 正文   创建两张表   如果要设置SET NULL,那么久必须允许为null,不能勾选not null...
建立外键,错误1005问题
数据库中一个表,它的<em>外键</em>是有两个键组合而成,如(id,B)rn现在我对主键其中的id,<em>建立</em><em>外键</em>,与另外一个表的主键链接起来。rn两个键的类型一直,引擎也都是InnoDBrnrnsql执行出现的错误代码:1005rn请问大家是什么问题呢?rnrn命令如下:rnALTER TABLE `blpcd`.`track` ADD CONSTRAINT `new_fk_constraint` FOREIGN KEY `new_fk_constraint` (`id`)rn REFERENCES `cd` (`id`)rn ON DELETE CASCADErn ON UPDATE CASCADE;
SYBASE建立外键的语句是什么?
我用从PB导出的语句老提示错误rnCREATE TABLE dbo.sell_inforn (sell_id char(11) NOT NULL,rn account_no char(18) NOT NULL,rn account_name char(10) NOT NULL,rn sell_flag char(1) NOT NULLrn , PRIMARY KEY (sell_id,rn account_no)rn , CONSTRAINT [foreign key 1] FOREIGN KEY (account_norn ) REFERENCES dbo.main_accountsrn ) rn提示“[”有错误rn而在MS SQLSERVER中没有问题
sql-front能建立外键吗?
使用Oracle的管理工具PL/SQL,很容易的就<em>建立</em>两张表的主<em>外键</em>,用sql-front就发现无从下手,我知道sql语句可以写出来,但是我就是想问sql-front工具可否<em>建立</em>,有哪位前辈知道的,指点一下。谢谢
建立外键关系时的问题。
两张表有一个相同字段的类型,长度。(甲表,乙表)rn那么当甲表中的那个字段的值改变后,乙表中的那个字段的值也要改变。那么就是<em>建立</em><em>外键</em>关系,甲表为主键表。乙表为<em>外键</em>表,那么我在用VS2005<em>建立</em><em>外键</em>关系时,提示:表"Table1"中的列与现有的主键或UNIQUE约束不匹配。rnrn怎么回事?
MySQL外键的注意事项
关于MySQL<em>外键</em>的注意事项: 假设A,ID 主键。 B,AID<em>外键</em>。 那么 1、A 和B必须都是支持<em>外键</em>的引擎,如INNODB引擎。 2、ID 和AID 类型必须一致(如果是数值类型,如一种是int,一种却是tinyint,这样属于不一致;但如果一种是unsigned,一种是非unsigned,则其数据类型也属于不一致的;同一类型但长度却不一样:一种是varchar(10),而
mysql 外键说明与实例
一,什么是foreign key,及其完整性 个人觉得,foreign key就是表与表之间的某种约定的关系,由于这种关系的存在,我们能够让表与表之间的数据,更加的完整,关连性更强。关于完整性,关连性我举个例子,大家就会明白了。 有二张表,一张是用户表,一张是订单表: 1,如果我删除了用户表里的用户,那么订单表里面根这个用户有关的数据,就成了无头数据了,不完整了。
mysql外键设置
<em>mysql</em><em>外键</em>的设置,使用。添加<em>外键</em>的格式: ALTER TABLE yourtablename ADD [CONSTRAINT <em>外键</em>名] FOREIGN KEY [id] (index_col_name, ...) REFERENCES tbl_name (index_col_name, ...) [ON DELETE {CASCADE | SET NULL | NO ACTION | RESTRICT}] [ON UPDATE {CASCADE | SET NULL | NO ACTION | RESTRICT}]
MySQL 创建主外键
<em>外键</em>定义语法: [CONSTRAINT symbol] FOREIGN KEY [id] (index_col_name, …) REFERENCES tbl_name (index_col_name, …) [ON DELETE {RESTRICT | CASCADE | SET NULL | NO ACTION | SET DEFAULT}] [ON UPDATE {RESTRICT | C
mysql创建外键的感悟
使用<em>mysql</em>创建<em>外键</em>关联,主要用于修改删除表数据时的约束。 我使用<em>mysql</em>的可视化客户端工具——Navicat工具。不过需要注意几点,表的类型必须是InnoDB。只要在主表创建关联子表的<em>外键</em>。当删除子表数据的时候,就会报<em>外键</em>关联约束错误。
MySQL添加不了外键
MySQL存储引擎导致添加不了<em>外键</em>
mysql外键的取舍
最近越来越感觉<em>mysql</em>的<em>外键</em>真的很麻烦,项目组讨论决定以后不用<em>外键</em>,现在将<em>mysql</em>的<em>外键</em>的一些麻烦事记录一哈: <em>外键</em>的使用条件:     1.两个表必须是InnoDB表,MyISAM表暂时不支持<em>外键</em>(据说以后的版本有可能支持,但至少目前不支持);    2.<em>外键</em>列必须<em>建立</em>了索引,MySQL 4.1.2以后的版本在<em>建立</em><em>外键</em>时会自动创建索引,但如果在较早的版本则需要显示<em>建立</em>;     3.<em>外键</em>...
MySql的关系(外键
比如:创建成绩表scores,结构如下 id 学生(students表) 科目(subjects表) 成绩(scores表)   1.<em>建立</em>关系    1.1<em>外键</em>约束:有二种          1.1.1创建表时可以直接创建约束 create table scores( id int primary key auto_increment, stuid int, subid int,...
MySQL 外键应用
1). MySQL 引擎 show engines; 图1.png 如果InnoDB状态不可用,可参考此文激活. 2). 创建主表 create table parent(id int not null,primary key(id)) engine=innodb; 3). 创建从表 create table child(id int,pa...
MySQL -------主键和外键
1.主键:(Primary Key) 是一个表里的唯一标识,假如一个表没有主键,查询就是遍历查询,如果有主键,会以平衡树数据格式去查询. 2.<em>外键</em>: <em>外键</em>就是以表里唯一一个和其他表有关联的字段,起到约束作用。<em>外键</em>一般在定义字段的时候创建。 CREATE TABLE students ( id INT PRIMARY KEY auto_increment, NAME CHAR ( 3...
MySQL设置外键
CREATE TABLE SPJ( SNO CHAR(2) NOT NULL , PNO CHAR(2) NOT NULL , JNO CHAR(4) NOT NULL , QTY INT NOT NULL , PRIMARY KEY (SNO,PNO,JNO,QTY) ); # 设置<em>外键</em> ALTER TABLE SPJ ADD CONSTRAINT fk_SPJ_SS FO...
mysql 设置外键
可以在创建表的时候创建,也可以在创建表之后创建。创建表时创建:create table student(id int  primary key,name char(4),dept char(9)sex char(4))create table grade(id int ,grade intconstraint id_fk foreign key (id) references student (i...
mysql创建外键问题
[code=SQL]rnalter table ads_category_info add constraint fkrnadd foreign key(name)rnreferences ads_url_field_info (title);rn[/code]rn这段代码哪里有错误?执行不了
mysql外键的使用
对<em>外键</em>使用做出详细阐述,对于初学者或者有一定经验的人都是一个好的借鉴
MySql:多表设计---外键
在实际开发过程中,一张表显然是不能满足我们的需求,通常我们需要多张表来存储数据。那么下面就举个栗子~ 一家公司有多个部门,而每个部门有多个员工,现在我们来新建一个部门表:dept   以及一个员工表:emp。 建表的操作这里不再演示,如有需要请参考: 《MySql:操作表的语句以及常用的字段类型》http://blog.csdn.net/javy_codercoder/article/det
MySQL建表,主键,外键
1.创建表 MySql中,创建表是通过SQL语句create table实现的。语法形式如下: create table 表名( 属性名 数据类型[完整性约束条件],           属性名 数据类型[完整性约束条件],            .            .            属性名 数据类型);    其中,“表名”参数表示要创建的表名称;“属性名”参数表示表中字段的...
mysql 查询外键,删除外键
备查 用show create table 看 然后用 ALTER TABLE articles DROP FOREIGN KEY fk_member; 删除
MySQL 语句外键 连接
<em>外键</em> 定义: <em>外键</em>是指引用另一个表中的一列或多列,被引用的列具有主键约束或唯一约束。 目的: <em>外键</em>用于<em>建立</em>和加强两个表数据之间的连接。 概念:1、 主表——被引用的表;2、从表 ——引用<em>外键</em>的表 。 两者关系: 主从关系。 注意: (1)<em>建立</em><em>外键</em>的表必须为 InnoDB 型,不能是临时表。在MySql中只有 InooDB 类型的表才支持<em>外键</em>。 (2)定义<em>外键</em>名时,不能加引号。 如 constrai...
mysql关于外键设置
今天在设计酒店管理系统时走了很多弯路 1.<em>mysql</em>使用的默认数据库引擎MyISAM并不能很好支持<em>外键</em>,事务等操作,<em>外键</em>总是设置不上,需要将引擎改为InnoDB,这个是最完善支持各种sql操作的。(ENGINE=InnoDB) 2.在最初设计数据库是就应当把所有关系想好,确认关系正确再去生成数据库,今天就是<em>外键</em>设置的不对,整个数据库的逻辑都错了,只好删掉数据库,用power designer重
Mysql基础:主键和外键
总结<em>mysql</em>主键和<em>外键</em>的添加方式
mysql中的外键foreign key
一、如果一张表中有一个非主键的字段指向了别一张表中的主键,就将该字段叫做<em>外键</em>。   一张表中可以有多个<em>外键</em>。   <em>外键</em>的默认作用有两点:   1.对子表(<em>外键</em>所在的表)的作用:子表在进行写操作的时候,如果<em>外键</em>字段在父表中找不到对应的匹配,操作就会失败。   2.对父表的作用:对父表的主键字段进行删和改时,如果对应的主键在子表中被引用,操作就会失败。   <em>外键</em>的定制作用----三...
MYSQL 建表外键问题。。。。
CREATE TABLE Room_DoorWindowInfo (rn ID Bigint PRIMARY KEY, rn RoomID Bigint NOT NULL, rn DoorWindowType INTEGER, rn DoorWindowName VARCHAR(50), rn DoorWindowLength FLOAT, rn DoorWindowWidth FLOAT, rn Description VARCHAR(255),rn ALTER TABLE Room_DoorWindowInfo ADD CONSTRAINT fk_Room_House_RoomStructure FOREIGN KEY (ID) REFERENCES House_RoomStructure(ID));rnrnrn 还有一 House_RoomStructure表,我想给Room_DoorWindowInfo表的RoomID字段添加一个<em>外键</em>约束,该<em>外键</em>关联的是House_RoomStructure表的ProgrammID字段。rn 但为什么我用上面的语句创建,老是报错呢。。。求各位大神看看。。谢谢
MySQL外键变种之总结
熟练使用数据是每个开发人员必备技能,本课程带你学习互联网企业最流行的Mysql数据库,你将学会以下内容: 1.表结构设计和数据的增删改查 2.掌握如何进行跨表查询&amp;关联、如何进行数据分组统计、子查询如何使用。 3. 掌握事务原理及应用场景 4. 掌握存储过程、视图、触发器的使用 5. 掌握数据库权限管理、数据备份、导入导出工具的使用 6. 掌握如何在Python项目中正确的使用Mysql数据库"
MySQL基础外键的特点
rn rnrnrn rn 20周年限定一卡通!可学Java全部课程,仅售799元(原价7016元),还送漫威正版授权机械键盘+CSDN 20周年限量版T恤+智能编程助手!rn rn rn 点此链接购买:rn rn rn rn rn rn https://edu.csdn.net/topic/teachercard?utm_source=jsk20xqyrnrn rn rn rn rnrn&nbsp; rnrn rnrnrn Java全程课程的第一阶段,主要讲授java语言基础,涉及变量、流程控制、面向对象、IO流、集合框架、多线程、网络编程,以及常用的MySQL数据库及Java操作数据库的技术JDBCrn
【MySQL】创建外键的方法
首先谈一下<em>外键</em>的作用,一是节省空间,二是约束含<em>外键</em>的列中的值,含<em>外键</em>列的值必须为参考列中的id 创建数据表时,创建<em>外键</em>方法 create table userinfo( uid bigint auto_increment primary key, name varchar(32), department_id int, xx_id int, constraint fk...
mysql innodb 外键的原理?
方案一:rn主表A,从表B;rncreate table A(id int not null primary key) engine = innodb;rncreate table B(id int not null,foreign key(id) references A(id) on update cascade on delete cascade)engine = innodb;rnrn以上就是一个简单的<em>外键</em>约束关系。rnrn在我们执行 delete from A where id = XXX; 时 B表中的相应的数据也被删除。rnrn方案二:rn表A,表Brncreate table A(id int not null primary key) engine = innodb;rncreate table B(id int not null primary key)engine = innodb;rnrn没有<em>外键</em>约束关系rn所以我们需要执行delete from A where id = XXX; delete from B where id = XXX;rnrnrn请问以上两种方案 效率差在哪里?也就是<em>外键</em>是如何提高效率的。rnrn
hibernate/mysql 外键级联删除
我有两张表部门表Department和员工表Employee,一个Department有多个Employee,Employee有指向Department的<em>外键</em>rn问题是直接删除Department会报错,因为有<em>外键</em>,于是在数据库里设置<em>外键</em>on delete cascade,但这与实际情况不符,Department没有了,但是Employee还是在的,设定on delete set null,查询的时候又会报错,怎么能在删除时设定Employee的<em>外键</em>为默认值,用Hibernate的话配置该怎么写rnrn用<em>mysql</em>5.5 设置on delete set default 总是报错,不能保存
MySQL(七)—— 外键使用
目录 增加<em>外键</em> 修改<em>外键</em>&amp;amp;删除<em>外键</em> <em>外键</em>作用 <em>外键</em>条件 <em>外键</em>约束 <em>外键</em> <em>外键</em>: foreign key, 外面的键(键不在自己表中): 如果一张表中有一个字段(非主键)指向另外一张表的主键,那么将该字段称之为<em>外键</em>. 增加<em>外键</em> <em>外键</em>可以在创建表的时候或者创建表之后增加(但是要考虑数据的问题). 一张表可以有多个<em>外键</em>. 创建表的时候增加<em>外键</em>: 在所有的表字段之后,使用fo...
mysql建表 的外键 问题
<em>mysql</em>建表 的<em>外键</em> 怎么设?rn
mysql外键和事物处理
请问各位大侠,<em>mysql</em>中是如何提供<em>外键</em>支持啊?? rn我们老板让我们这次的项目用<em>mysql</em>,我可没用过呀,那些表的关联很多,需要很多关联的,项目明天要开始,今晚看了很多E文的<em>mysql</em>介绍,但还是找不到关于<em>mysql</em>中的<em>外键</em>支持和事物支持,rn请教各位!! rn我今晚就要解决这个问题呀,重分酬谢!!
mysql如何定义外键
<em>mysql</em>如何定义<em>外键</em>
mysql笔记3 外键
常见错误 ERROR 1452 (23000): Cannot add or update a child row: a foreign key constraint fails 当前表如果插入某条记录时检查到foreign key中指定的值在该<em>外键</em>所在的表中不存在的话,是不允许插入的。即MySQL只允许向当前表中加入<em>外键</em>表中已有的数据列。比如说<em>外键</em>贪官表里有“王二麻子”,那么在当前情
急急,mysql外键问题
Caused by: java.sql.SQLException: Cannot add or update a child row: a foreign key constraint fails (`weecreature/productinfo`, CONSTRAINT `FKA7C3E1D35A20B66` FOREIGN KEY (`typeid`) REFERENCES `producttype` (`typeid`))
网络程序设计——ASP(第3版)题解.zip下载
网络程序设计——ASP(第3版)题解.zip 网络程序设计——ASP(第3版)题解.zip网络程序设计——ASP(第3版)题解.zip 相关下载链接:[url=//download.csdn.net/download/smart819819/3212507?utm_source=bbsseo]//download.csdn.net/download/smart819819/3212507?utm_source=bbsseo[/url]
CSS+JS制作的按钮下载
这个按钮需要配合JS和CSS才能使用,效果非常漂亮,而且有背景图片,压缩包里都有了。 相关下载链接:[url=//download.csdn.net/download/jia1988312/3274599?utm_source=bbsseo]//download.csdn.net/download/jia1988312/3274599?utm_source=bbsseo[/url]
黑帽防火线压力测试系统下载
黑帽防火墙压力测试系统(黑帽ddos攻击软件)是一款标准的网络测试软件,可广泛应用于机房路由硬件防火墙测试,机房带宽测试,服务器负载上限测试,web应用测试等。该软件来自it技术世界一流的黑帽工作室开发,是专门针对大众化设计研发的具有创新思想和专有技术的新型网络ddos攻击器。集合了市面上所有攻击软件优点,取得了革命性突破。可让您面对各种安全威胁防范于未然。稳操胜券 相关下载链接:[url=//download.csdn.net/download/w184167377/7609859?utm_source=bbsseo]//download.csdn.net/download/w184167377/7609859?utm_source=bbsseo[/url]
相关热词 c# 标准差 计算 c#siki第五季 c#入门推荐书 c# 解码海康数据流 c# xml的遍历循环 c# 取 查看源码没有的 c#解决高并发 委托 c#日期转化为字符串 c# 显示问号 c# 字典对象池
我们是很有底线的