当前位置: 首页 > 知识库问答 >
问题:

MySQL:将另一个表中的值插入到一列中

都沈浪
2023-03-14

我想移动项目从一个表到另一个使用MySQL。

这是我目前使用的:

INSERT INTO items_rooms (item_id, room_id,x,y,n)  
SELECT id, room_id,x,y,z
  FROM `items_phoenix`

这是可行的,但是我想在一列中插入多个值,而不是在不同的列中插入每个值。

例如:

在表items_rooms中,我希望将items_phoenix中的值x和y放在items_rooms中的一列中。

如果x=5,y=2,我可以像这样将其保存到items\u房间中:一列:5.2,而不是每个值的不同列吗?

抱歉,如果这是混淆!

共有3个答案

陶俊晤
2023-03-14

您可以对简单的情况使用串联,例如:

INSERT INTO items_rooms (
  item_id,
  room_id,
  x_and_y,
  n)
SELECT
  id,
  room_id,
  CONCAT(x, '.', y),
  z
FROM `items_phoenix`
姚昊焱
2023-03-14

你绝对能做到。请参阅对此有用的答案。然而,你应该考虑这是否是一个好主意。一旦您将不同的列非规范化为一列中的某种字符串表达式,您就创建了非常难以维护和查询的内容。这样做会让你的数据对你自己不太有用。

阴高刚
2023-03-14

可以在“选择列”列表中使用表达式。只要选择列表中的列与目标表中的列在数量和数据类型上匹配,就可以执行以下操作:

INSERT INTO items_rooms (item_id, room_id, x_dot_y, n)  
SELECT id, room_id, CONCAT(x,'.',y), z
  FROM `items_phoenix`
 类似资料:
  • 我试图在从一个表创建一个值后将其插入另一个表我有两个数据库“mem”和“location” 我想从mem表中添加主键id,并将其插入到位置表中的user_id列中。 我有一个sql查询在我的注册表单页面,自动递增'id'在mem表中,但似乎没有添加相同的值到位置表中的user_id, 有人能帮忙吗!

  • 如何将从上述插入语句填充的标识值()插入到表(另一个表)中 任何人都可以解释一下我如何为更大的记录集(数千条记录)实现它? 我们可以使用循环和?如果是,请解释我们如何做到这一点? 如果我从选择查询插入到#test中,会是什么情况? 插入到#test(b,c)中从…(数千条记录)中选择 我如何捕获标识值并将该值用于另一个(#sample) insert into #sample(e,f) selec

  • 我有两张桌子: 注意:我必须找到一个不禁用安全模式的方法。 现在,如果有人能帮助我理解我在这三个案例中做错了什么和/或给我一个更好的解决方案,我将非常感谢的帮助。

  • 如何在同一表中从一列插入值到另一列? 说我有: 我要求: 换句话说,我想复制'Suburb2'和'Date',并将它们分别作为新行插入'Date'和'suburban'。 我知道我可以通过首先复制到临时列/s并稍后清理来实现这一点,但我想知道是否有一种方法可以在一个查询中实现这一点? 我试过了 但得到的列“日期”不存在错误。

  • 问题内容: 这是否可能在另一个数据结构中包含一个数据结构?到目前为止,我只能在列表中插入字符串或数字。 所需的数据结构将是具有一个列表,其中每个组件也是一个列表。 问题答案: 简单答案:不,Redis列表成员只能是字符串。 复杂的答案:字符串可以做很多事情。您可以使用多种不同的格式(JSON,XML,CSV,特定于语言的序列化等)将列表序列化为字符串。Redis可以容纳很大的字符串值,因此您可以只

  • 问题内容: 我想从一个表中读取所有数据,然后将一些数据插入到另一个表中。我的查询是 但我有一个错误 请帮我。 问题答案: 您可以使用INSERT … SELECT语法。请注意,您可以在SELECT部分​​中直接引用“ 1”。