我这里有个有趣的问题。我有一个MySql数据库表,它已经链接到其他几个表。例如,“主”表是一套教学材料,以及相关的表格:
我希望能够更新和更改这些记录。更改主记录是很容易的,但是连接的记录呢?例如,假设我有一个教材,我原本打算教动词和形容词,最好用在1-4年级。后来,我决定把五年级加到名单上,去掉一年级,这个材料实际上更适合教名词和形容词,而不是动词。
更新年级和语法表的最佳方法是什么?我不想在无意中覆盖我想要保存的数据,也不想保存我想要删除的数据。我应该删除所有与特定教材相关的记录并重新输入它们,还是有其他方法可以对它们进行索引,以便更有效地更新它们?
发布于 2012-02-25 07:49:56
在MySQL中,您可以通过外键链接表。也就是说,您有共享这些密钥的连接记录。然后,根据如何实例化表,可以在更新一个表中的值时使用CASCADE。在MySQL手册中,当定义此外键时,可以将CASCADE设置为:
[约束符号]外键名字引用tbl_name (index_col_name,.)关于DELETE reference_option reference_option:限制\
其中:
级联:从父表中删除或更新行,并自动删除或更新子表中匹配的行。支持删除级联和更新级联。在两个表之间,不要在父表或子表中的同一列上定义多个子句。
默认情况下,此引用选项设置为No Action。
发布于 2012-02-25 08:01:39
我有两张桌子,一张叫供应商,另一张叫存货。
++++++++++++++
+Vendor
++++++++++++++
+Vendor_ID
+Vendor_Name
++++++++++++++
+++++++++++++++
+Inventory
+++++++++++++++
+Description
+endor_Name
+Price
+Weight
+++++++++++++++ 目前,两个表中的Vendor_Name具有相同的值,因此我可以这样做。
SELECT Vendor.Vendor_ID
FROM Vendor, Inventory
WHERE Vendor.Vendor_Name = Inventory.Vendor_Namehttps://stackoverflow.com/questions/9442272
复制相似问题