【问题标题】:Adding/Editing MYSQL keys添加/编辑 MYSQL 键
【发布时间】:2015-08-18 15:24:15
【问题描述】:

我正在处理 MySQL 数据库中具有以下列的表:

 - ItemID (auto incremented key)
 - Item
 - CategoryID (empty column)
 - Category
 - SubcategoryID (empty column)
 - Subcategory

在同一数据库中的其他表中,我有一个类别和子类别及其唯一 ID 的列表,我想从现有表中获取这些 ID,并将它们移植到我上面描述的项目表中。将 ID 移植过来后,我打算删除类别和子类别条目,因为 ID 将作为我的足够参考。

我可以手动执行此操作,如有必要我将手动执行此操作,但是在 MySQL 中检查数千个条目听起来不像是我理想的下午。

我的问题很简单,有没有办法按照我描述的方式使用我现有的表来改变我的项目表(上图)?

谢谢!

【问题讨论】:

标签: mysql database


【解决方案1】:

所以你有一个category 表,其中包含一个idcategory 字段,并且category 字段匹配items.category 表。

要更新items.category_id,请加入items.category <=> category.category 上的category 表,并更新items.category_id 中的值category.id

UPDATE items 
  JOIN category ON items.category <=> category.category
SET items.category_id = category.id;

您可能需要更改一些列名称,但希望它们是显而易见的。

对子类别和任何其他字段重复此操作。

注意:&lt;=&gt; 是 NULL 安全相等的,因此具有 NULL 值的行将被正确更新

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-12-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多