北京SEO

sql delete同时删除多表相关联记录

2019/10/10/17:32:52  阅读:1771  来源:谷歌SEO算法  标签: SEO优化

sql delete同时删除多表相关联记录,sqlserver 支持级联更新和删除,oracle 只支持级联删除.

删除包含主键值的行的操作,该值由其它表的现有行中的外键列引用,在级联删除中,还删除其外键值引用删除的主键值的所有行,如:

  1. createdatabasetemp
  2. go
  3. usetemp
  4. go
  5. createtableUserInfo
  6. (
  7. UserIdintidentity(1,1)primarykey,
  8. UserNamevarchar(20),--用户名
  9. passwordvarchar(20)notnull--密码
  10. )
  11. createtableUserDetails
  12. (
  13. idintidentity(1,1)primarykey,
  14. namevarchar(50)notnull,--真实姓名
  15. userIdint,
  16. foreignkey(userId)referencesUserInfo(UserId)ondeletecascade
  17. )
  18. insertUserInfovalues('ly','jeff')
  19. insertUserInfovalues('wzq','wzqwzq')
  20. insertUserInfovalues('lg','lglg')
  21. insertUserDetailsvalues('李四',1)
  22. insertUserDetailsvalues('王五',2)
  23. insertUserDetailsvalues('刘六',3)
  24. --phpfensi.com
  25. altertable表名
  26. addconstraint外键名
  27. foreignkey(字段名)references主表名(字段名)
  28. ondeletecascade

语法:

  1. ForeignKey
  2. (column[,...n])
  3. referencesreferenced_table_name[(ref_column[,...n])]
  4. [ondeletecascade]
  5. [onupdatecascade]

注释:

column:列名

referenced_table_name:外键参考的主键表名称

ref_name:外键要参考的表的主键列

on delete:删除级联

on update:更新级联

000,请您对文章做出评价)此时:Delete From UserInfo Where UserId = 1 就可删除UserInfo表和UserDetails表的UserId=1 的内容

看一下MySql数据库教程怎么操作多表删除呢,有时我们可以直接用delete 来删除.

delete 语法:

  1. DELETE[LOW_PRIORITY][QUICK]FROMtable_name
  2. [WHEREwhere_definition]
  3. [ORDERBY...]
  4. [LIMITrows]
  5. or
  6. DELETE[LOW_PRIORITY][QUICK]table_name[.*][,table_name[.*]...]
  7. FROMtable-references
  8. [WHEREwhere_definition]
  9. --phpfensi.com
  10. or
  11. DELETE[LOW_PRIORITY][QUICK]
  12. FROMtable_name[.*][,table_name[.*]...]
  13. USINGtable-references
  14. [WHEREwhere_definition]

示例代码为:

1.删除一个表中的数据

delete from department where name='Asset Management';

2.删除两个表中的数据

  1. deleteemployee,employeeSkills
  2. fromemployee,employeeSkills,department
  3. whereemployee.employeeID=employeeSkills.employeeID
  4. andemployee.departmentID=department.departmentID
  5. anddepartment.name='Finance';

3.删除两个表中的数据,用using语法

  1. deletefromemployee,employeeSkills
  2. usingemployee,employeeSkills,department
  3. whereemployee.employeeID=employeeSkills.employeeID
  4. andemployee.departmentID=department.departmentID
  5. anddepartment.name='Finance';

广告内容

sql delete同时删除多表相关联记录 sql delete同时删除多表相关联记录 sql delete同时删除多表相关联记录

相关阅读

热门评论

卢松松博客 卢松松博客

关注创业者、自媒体人和站长的网站

总篇数167

精选文章

RMAN中catalog和nocatalog区别介绍 小技巧:为Linux下的文件分配多个权限 zimbra8.5.1安装第三方签名ssl证书的步骤 解决mysql不能远程连接数据库方法 windows服务器mysql增量备份批处理数据库 mysql中slow query log慢日志查询分析 JavaScript跨域问题总结 Linux下负载均衡软件LVS配置(VS/DR)教程 mysql中权限参数说明 MYSQL(错误1053)无法正常启动

SEO最新算法