账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    key与外键的问题
    106
    0

    读到一篇关于mysql的文章,有不解的地方

    https://www.cnblogs.com/zjfja...

    1。KEY type (type)
    CREATE TABLE phpcolor_ad (
    id mediumint(8) NOT NULL AUTO_INCREMENT,
    name varchar(30) NOT NULL,
    type mediumint(1) NOT NULL,
    code text,
    PRIMARY KEY (id),
    KEY type (type)
    );

    这里的 KEY type (type) 究竟是什么含义?
    创建了一个单键索引?
    这个索引的名称是type, 对应type这个字段?
    这里的key就是index了哈
    我可以这样写吗:

    CREATE TABLE phpcolor_ad (
    id mediumint(8) NOT NULL AUTO_INCREMENT,
    name varchar(30) NOT NULL,
    type mediumint(1) NOT NULL,
    code text,
    PRIMARY KEY (id),
    index type (type)
    );

    2。外键的问题
    创建表的时候,同时创建外键。
    这是一个标准的做法
    CREATE TABLE student(
    sid INT AUTO_INCREMENT,
    sname VARCHAR(10),
    s_cid INT,
    PRIMARY KEY(sid),
    FOREIGN KEY (s_cid) REFERENCES class(cid)
    );

    文章中说:
    CREATE TABLE wh_logrecord (
    logrecord_id int(11) NOT NULL auto_increment,
    user_name varchar(100) default NULL,
    operation_time datetime default NULL,
    logrecord_operation varchar(100) default NULL,
    PRIMARY KEY (logrecord_id),
    KEY wh_logrecord_user_name (user_name)
    );

    他对 KEY wh_logrecord_user_name (user_name)做了解释
    解析:
    KEY wh_logrecord_user_name (user_name)
    本表的user_name字段与wh_logrecord_user_name表user_name字段建立外键
    括号外是建立外键的对应表,括号内是对应字段

    KEY wh_logrecord_user_name (user_name)就是一个缩写哈
    FOREIGN KEY (user_name) REFERENCES wh_logrecord_user_name (user_name)

    有这样创建外键的吗?
    感觉作者的这两个例子很不好,表达太晦涩了

    0
    打赏
    收藏
    点击回答
    您的回答被采纳后将获得:提问者悬赏的 11 元积分
        全部回答
    • 共 0 条
    • 思念說給風聽 普通会员 1楼

      在数据库设计中,键(Key)和外键(Foreign Key)是两个非常重要的概念。

      1. 键(Key):
      2. 主键(Primary Key):主键是表中的一个或多个字段的组合,其值能够唯一标识表中的每一行记录。主键的值必须是唯一的且不可为空。在一张表中,只能有一个主键,用于确保数据的完整性和一致性。
      3. 唯一键(Unique Key):与主键类似,也是用于确保字段唯一性的约束,但不同的是,唯一键允许有空值。

      4. 外键(Foreign Key): 外键是一个表中的字段,它的值对应于另一个表的主键值。外键的作用在于建立两个表之间的关联关系,保证数据的一致性和完整性。在一个表中设置外键,意味着该表的这条记录与另一个表的某条记录存在某种依赖关系。例如,在订单表中,用户ID可以作为外键,它引用用户表的主键,这样就可以明确知道每笔订单是由哪个用户创建的。

      总结来说,键主要用来确保单个表内数据的唯一性,而外键则是在不同的表之间建立联系,实现数据的参照完整性。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部