【问题标题】:MySQL: Select row by id, CHANGE id, and insert it into another tableMySQL:按id选择行,更改id,并将其插入另一个表
【发布时间】:2011-07-31 04:02:03
【问题描述】:

我有两张桌子,A 和 B。

我想根据 B 的主键从 B 中选择一行,将主键更改为不同的值,然后将该行插入 A。

类似这样的:

INSERT INTO A SELECT id, title, date FROM B WHERE B.id="4" UPDATE B SET id="5";

有解决办法吗?

【问题讨论】:

  • 此处为原始海报:请注意,A 和 B 列相同。
  • 您希望这个更改后的 id 在原始行(表 B)中还是在新插入的(表 A)中?
  • 你有什么问题?您想在单个查询中完成吗?
  • 它应该将新值插入到 A 中。
  • 你只是将 id 增加 1 还是有其他公式是什么数据类型

标签: mysql select insert pdo


【解决方案1】:

可能是这样的

insert into a (select id as "new_id", title, date from b where b.id="4")

【讨论】:

  • 感谢您的回复,是否可以选择 id 作为“new_id”让我将 id 值更改为引号中的值?
【解决方案2】:
INSERT INTO A(id, title, date)
SELECT 5 AS id, title, date FROM B WHERE B.id="4";
#      ^--- here is the trick

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-02-19
    • 2015-05-30
    • 1970-01-01
    相关资源
    最近更新 更多