mysql - 使用外部键引用插入到选择中

标签 mysql sql sql-insert

INSERT INTO trees (preview) 
select galleries.preview 
from galleries,trees 
where trees.id=galleries.idTree;

我正在尝试将一列从一个表移动到另一个表,我设置了一个与原始数据类型相同的空列。

哪里idTree等于id到目标表(源表 idTree 是对目标 id 上的 trees 的外键引用)。

“选择”起作用并给我返回正确的值集(至少按 id 和所有排序),但 insert into部分,什么都不做,树上的田野仍然是空的。我做错了什么?

最佳答案

INSERT INTO.. 将创建一个新行;但您希望更新 trees 表中具有 id 的现有行。尝试使用 UPDATE 查询代替:

UPDATE trees 
JOIN galleries ON galleries.idTree = trees.id
SET trees.preview = galleries.preview 

关于mysql - 使用外部键引用插入到选择中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58168452/

相关文章:

php/mysql SERF 网址

mysql - 将一个查询的结果提供给另一个

mysql - SQL查询只有一个字符的字符串

mysql - 仅当 IF 条件为真时才插入

sql - 在插入之前检查 SQL Server 表中是否已存在记录

mysql - 如何将文件转换为带有外键的INSERT?

php - 在 PHP/MySQL 中比较变量字符串相等性的最佳方法是什么?

mysql - 如何将Excel存储的数据导入MySQL并保持日期格式为yyyy-mm-dd hh :mm:ss

sql - 如何在没有周六和周日的情况下获得 db2 中的工作日差异?

mysql - 如果在重复键更新时插入