数据库不用命令如何约束外键

上周 我使用 MySQLWorkbench 制定一个时间表并尝试 直接在界面点击外键选项 链接到另一个表的主键 很舒服 没有使用命令行
但请注意类型 我上次做过 表为 INT 另一个表是VARCHAR 立即报告错误 修改完成后就会成功
也可以为现有表添加外键 在图形界面中选择添加外键 只需选择表和列 选择任何名称 例如order_customer
关键是数据一定要完整 我的朋友上次在这里被杀 首先输入一些数据 关联错了,我找不到。
稍后添加外键将彻底失败。
花了半天查资料 忘记它吧 最好小心一点

navicat中怎么添加约束

Navicat 中外键约束的步骤非常清晰。

1 . 连接数据库,选择表,右键“设计表” 时间:5 分钟,数字操作无压力
2 . 切换到“外键”选项卡 具体时间忘记了,反正很快就
3 配置外键 Name:留空或手动填写(如fk_user_school) 选择字段:点击按钮选择字段(如school_id)
4 . 参考表和字段 参考表:选择目标表(如t_school_info) 引用字段:选择相关字段(如id),类型必须一致
5 . 删除和更新规则 删除:CASCADE(级联删除)或RESTRICT(限制删除) 更新:同上,CASCADE 或 RESTRICT
6 保存验证 点击“保存”可插入/删除测试数据
注意: 数据类型必须一致,否则会报错 主键 勾选“主键”选项 唯一约束使用“唯一”属性或索引 非空约束取消“允许为空”
你可以自己掂量一下。

mysql 数据库约束(constraint)-初学教程 5

非空约束(notnull):确保字段不接受NULL值。
创建表时直接添加:createtablet_user(idint(1 0),namevarchar(3 2 )notnull);。
时间:表创建的时间。
位置:t_user 表。
编号:姓名字段。

唯一约束(unique):保证字段值唯一。
修改字段,添加:altertablet_usermodifyemailvarchar(1 2 8 )unique;。
时间:换桌时。
位置:t_user 表。
编号:电子邮件字段。

组合约束:notnull 和 unique 组合。
联合唯一性:createtablet_user(idint(1 0),namevarchar(3 2 )notnull,emailvarchar(1 2 8 )notnullunique);。
表级别限制:createtablet_user(idint(1 0)primarykey,namevarchar(3 2 )notnull,emailvarchar(1 2 8 )notnullunique);。
时间:表创建的时间。
位置:t_user 表。
数字:ID、姓名、电子邮件字段。

主键约束(Primary Key):唯一标识行。
单主键:createtablet_user(idint(1 0)primarykey,namevarchar(3 2 )notnull);。
复合主键:createtablet_user(idint(1 0),namevarchar(3 2 )notnull,primarykey(id,name));。
时间:表创建的时间。
位置:t_user 表。
编号:ID、姓名字段。

外键约束(foreignkey):表之间的引用关系。
学生班级关系:createtablestudent(idint(1 0)primarykey,student_namevarchar(3 2 )notnull,class_idint(1 0)foreignkeyreferencesclass(id));。
时间:表创建的时间。
地点:学生、班级桌子。
编号:ID 字段。

级联操作:级联更新和删除。
级联更新:altertablestudentaddconstraintfk_student_classforeignkey(student_name)referencesclass(class_name)onupdatecascade;。
级联删除:altertablestudentaddconstraintfk_student_classforeignkey(student_name)referencesclass(class_name)ondeletecascade;。
时间:换桌时。
地点:学生桌。
编号:字段学生名、班级名。

必须保证数据的准确性。