mysql - 插入时使 sql 值等于另一个表中的另一个值

标签 mysql sql

基本上我有这两个表。

enter image description here

我想要做的是在第二个表(表 2)中插入内容时,我希望其 NULL 值用表 1 中的 id 填充其中表1中的part1/part2和表2中的part1/part2形成的对保持不变(请注意它们可以在它们之间交换)。最好的方法是什么?

最佳答案

您可以做的是在插入上创建一个触发器,如下所示

CREATE TRIGGER grabIdFromTable1
BEFORE INSERT ON table2
FOR EACH ROW
BEGIN
  SET NEW.id = (SELECT id FROM table1 WHERE part1 = NEW.part1
                                        AND part2 = NEW.part2
                );

END//

看到这个sqlFiddle

关于mysql - 插入时使 sql 值等于另一个表中的另一个值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21058389/

相关文章:

mysql - 适用于经常更改的条目的最佳数据库架构

php - PHP通过MySQL显示特定图片的方法

MYSQL - 将多个用户添加到表列

mysql - SQL - 计算所有文件扩展名

php - mysql函数划分列的总和值和

mysql - 是否可以按索引命名列

带组联系人的 MySQL 查询

mysql - 带子查询的连接表中的用例

mysql - 在表中添加第五个连接

java - 使用什么作为 SQL 数据库日期的主键