SQL语句中的疑问?

SQL语句中的疑问?

KEY `fk_award_shop_idx` (`shop_id`),这句是什么意思?作用是什么

DROP TABLE IF EXISTS `tb_award`;

/*!40101 SET @saved_cs_client     = @@character_set_client */;

 SET character_set_client = utf8mb4 ;

CREATE TABLE `tb_award` (

  `award_id` int(10) NOT NULL AUTO_INCREMENT,

  `award_name` varchar(256) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL,

  `award_desc` varchar(1024) CHARACTER SET utf8 COLLATE utf8_unicode_ci DEFAULT NULL,

  `award_img` varchar(1024) CHARACTER SET utf8 COLLATE utf8_unicode_ci DEFAULT NULL,

  `point` int(10) NOT NULL DEFAULT '0',

  `priority` int(2) DEFAULT NULL,

  `create_time` datetime DEFAULT NULL,

  `last_edit_time` datetime DEFAULT NULL,

  `enable_status` int(2) NOT NULL DEFAULT '0',

  `shop_id` int(10) DEFAULT NULL,

  PRIMARY KEY (`award_id`),

  KEY `fk_award_shop_idx` (`shop_id`),

  CONSTRAINT `fk_award_shop` FOREIGN KEY (`shop_id`) REFERENCES `tb_shop` (`shop_id`)

) ENGINE=InnoDB AUTO_INCREMENT=16 DEFAULT CHARSET=utf8;

/*!40101 SET character_set_client = @saved_cs_client */;


正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

1回答
好帮手慕小脸 2021-10-21 10:53:17

同学你好,KEY `fk_award_shop_idx` (`shop_id`)是指给该表中的shop_id设置约束,该约束是外键约束

祝学习愉快~

  • 提问者 视线模糊 #1

    fk_award_shop_idx是这个约束的名字吗?fk_award_shop又是什么的名字喃?设置外键必须要这句KEY `fk_award_shop_idx` (`shop_id`)吗?直接使用 CONSTRAINT `fk_award_shop` FOREIGN KEY (`shop_id`) REFERENCES `tb_shop` (`shop_id`)可不可以?

    2021-10-22 06:49:23
  • 好帮手慕小尤 回复 提问者 视线模糊 #2

    同学你好,1、约束的名字是FOREIGN KEY,而fk_award_shop_idx代表的是关联的关系,fk_子表_父表_字段

    https://img1.sycdn.imooc.com//climg/61721f9e094ffd2108500198.jpg

    2、直接使用同学描述的语句是无法创建外键的,需要一起使用。

    祝学习愉快!

    2021-10-22 10:36:03
  • 提问者 视线模糊 回复 好帮手慕小尤 #3

    fk_award_shop_idx代表的是关联的关系,fk_子表_父表_字段,那么idx代表什么字段啊?tb_award,和tb_shop表里面都没有idx这个字段啊

    2021-10-25 21:32:37
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师