首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在其他表中连接多个记录来更新MySql数据库中的记录?

如何在其他表中连接多个记录来更新MySql数据库中的记录?
EN

Stack Overflow用户
提问于 2012-02-25 07:42:38
回答 2查看 120关注 0票数 0

我这里有个有趣的问题。我有一个MySql数据库表,它已经链接到其他几个表。例如,“主”表是一套教学材料,以及相关的表格:

  • 该材料所针对的等级;
  • 语法点,材料是最好的用途;
  • 与材料相关的关键词

我希望能够更新和更改这些记录。更改主记录是很容易的,但是连接的记录呢?例如,假设我有一个教材,我原本打算教动词和形容词,最好用在1-4年级。后来,我决定把五年级加到名单上,去掉一年级,这个材料实际上更适合教名词和形容词,而不是动词。

更新年级和语法表的最佳方法是什么?我不想在无意中覆盖我想要保存的数据,也不想保存我想要删除的数据。我应该删除所有与特定教材相关的记录并重新输入它们,还是有其他方法可以对它们进行索引,以便更有效地更新它们?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-02-25 07:49:56

在MySQL中,您可以通过外键链接表。也就是说,您有共享这些密钥的连接记录。然后,根据如何实例化表,可以在更新一个表中的值时使用CASCADE。在MySQL手册中,当定义此外键时,可以将CASCADE设置为:

[约束符号]外键名字引用tbl_name (index_col_name,.)关于DELETE reference_option reference_option:限制\

其中:

级联:从父表中删除或更新行,并自动删除或更新子表中匹配的行。支持删除级联和更新级联。在两个表之间,不要在父表或子表中的同一列上定义多个子句。

默认情况下,此引用选项设置为No Action

票数 0
EN

Stack Overflow用户

发布于 2012-02-25 08:01:39

我有两张桌子,一张叫供应商,另一张叫存货。

代码语言:javascript
复制
++++++++++++++

 +Vendor

++++++++++++++

 +Vendor_ID 
 +Vendor_Name

 ++++++++++++++ 

 +++++++++++++++

 +Inventory

 +++++++++++++++

 +Description

 +endor_Name

 +Price

 +Weight

 +++++++++++++++ 

目前,两个表中的Vendor_Name具有相同的值,因此我可以这样做。

代码语言:javascript
复制
SELECT Vendor.Vendor_ID 
 FROM Vendor, Inventory 
 WHERE Vendor.Vendor_Name = Inventory.Vendor_Name
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9442272

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档