在mysql中怎么添加foreign key

指定约束名称可以方便维护,删除约束可以用 ALTER TABLE tbl_name DROP FOREIGN KEY symbol语句快速删掉。ON DELETE、ON UPDATE表示事件触发限制,可设参数:RESTRICT(限制外表中的外键改动)CASCADE(跟随外键改动)SET NULL(设空值)SET DEFAULT(设默认值)NO ACTION(无动作,默认的)
在mysql中怎么添加foreign key
MySQL中,InnoDB引擎类型的表支持了外键约束,MyISAM类型暂时不支持外键。
建立外键关系的两个表的列必须是数据类型相似,也就是可以相互转换类型的列,比如int和tinyint可以,而int和char则不可以;此外,联合主键在MSSQL中建立外键会出现一些情况,不建议使用。
外键的好处:可以使得两张表关联,保证数据的一致性和实现一些级联操作。
外键的定义语法:
[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 | CASCADE | SET NULL | NO ACTION | SET DEFAULT}]该语法可以在 CREATE TABLE 和 ALTER TABLE 时使用,如果不指定CONSTRAINT symbol,MYSQL会自动生成一个名字。指定约束名称可以方便维护,删除约束可以用
ALTER TABLE tbl_name DROP FOREIGN KEY symbol语句快速删掉。ON DELETE、ON UPDATE表示事件触发限制,可设参数:RESTRICT(限制外表中的外键改动)CASCADE(跟随外键改动)SET NULL(设空值)SET DEFAULT(设默认值)NO ACTION(无动作,默认的)
2016-12-17
mengvlog 阅读 10 次 更新于 2025-07-20 21:23:09 我来答关注问题0
  • 我看了一下, 估计这个触发器的目的, 是想在往 orders 表插入一条记录的时候,命令行下面输出 “本次插入的 order_num ”因为这个是 MySQL 不是 SQLServer ( 可以用 PRINT 调试输出)也不是 Oracle ( 可以用 dbms_output.put_line 调试输出 )对于 MySQL 如果是存储过程的,倒是可以通过在存储...

  •  职场达人涂涂 如何设置MySQL WorkBench中注释的颜色?

    找到该文件,比如在C:\Program Files\MySQL\MySQL Workbench 6.3 CE\data\code_editor.xml 修改之前请先备份 确保MySQL Workbench是关闭状态(文件占用不能修改)大概在54行左右看到 将上述两个节点的fore-color改为#A0A0A0(默认...

  •  liufei_yj SQL 中 date 与datetime的区别

    ①date:MySQL 以 'YYYY-MM-DD' 格式检索与显示date值;②datetime:MySQL 以 'YYYY-MM-DD HH:mm:ss'格式检索与显示 DATETIME 类型。

  •  知道全能王 php及数据库

    连接必须是由mysql_connect打开的。该函数的使用不是严格必需的,因为在脚本结束时,所有非永久链路都会被自动关闭。(12)mysql_pconnect(主机,用户名,口令);与mysql_connect完全相似,但建立一个"永久连接",该连接一经建立永不关闭,即使使用mysql_close函数或程序执行完毕也不关闭.下一次试图建立永久连接时,系统如发现已...

  •  宝宝7oL 端口的常用端口

    如 BIND)22 whois++ WHOIS++,被扩展了的 WHOIS 服务23 bootps 引导协议(BOOTP)服务;还被动态主机配置协议(DHCP)服务使用24 bootpc Bootstrap(BOOTP)客户;还被动态主机配置协议(DHCP)客户使用25 tftp 小文件传输协议(TFTP)26 gopher Gopher 互联网文档搜寻和检索 ...

檬味博客在线解答立即免费咨询

mySQL相关话题

Copyright © 2023 WWW.MENGVLOG.COM - 檬味博客
返回顶部