0

我有两个 mysql 表,一个包含有关汽车的详细信息,另一个包含所有可能的汽车型号,例如:

汽车:
  car_id
  模型
  [更多细节]

楷模:
  model_id
  型号名称

现在,我的问题是存储在“汽车”表中的模型详细信息是模型名称,而不是我想要的模型 ID

我猜我需要某种递归 UPDATE 表才能更新cars.model,但我的大脑已经停止工作,不知道该怎么做。有人对如何做到这一点有任何提示吗?

感谢任何能提供帮助的人!

4

1 回答 1

1
mysql> 创建表汽车(car_id int auto_increment 主键,模型
varchar(50), model_id int);
查询正常,0 行受影响(0.01 秒)

mysql> 创建表模型(model_id int auto_increment 主键,名称
varchar(50));
查询正常,0 行受影响(0.01 秒)

mysql> 插入模型(名称) VALUES ('Taurus'), ('Ka'), ('Mustang');
查询正常,3 行受影响(0.00 秒)
记录:3 重复:0 警告:0

mysql>插入汽车(模型)值('Ka'),('Mustang'),('Taurus'),
('F150');
查询正常,4 行受影响(0.00 秒)
记录:4 重复:0 警告:0

mysql> 从汽车中选择 *;
+--------+---------+----------+
| 车牌号 | 型号 | 型号ID |
+--------+---------+----------+
| 1 | 嘉 | 空 |
| 2 | 野马 | 空 |
| 3 | 金牛座 | 空 |
| 4 | F150 | 空 |
+--------+---------+----------+
4 行一组(0.00 秒)

mysql> 从模型中选择 *;
+---------+---------+
| 型号ID | 姓名 |
+---------+---------+
| 1 | 金牛座 |
| 2 | 嘉 |
| 3 | 野马 |
+---------+---------+
3 行一组(0.00 秒)

mysql>更新汽车,模型设置cars.model_id = models.model_id
其中models.name =汽车.model;
查询正常,3 行受影响(0.06 秒)
匹配行:3 更改:3 警告:0

mysql> 从汽车中选择 *;
+--------+---------+----------+
| 车牌号 | 型号 | 型号ID |
+--------+---------+----------+
| 1 | 嘉 | 2 |
| 2 | 野马 | 3 |
| 3 | 金牛座 | 1 |
| 4 | F150 | 空 |
+--------+---------+----------+
一组 4 行(0.03 秒)

于 2008-11-11T10:36:10.950 回答