Oracle vs MySQL - 插入

Posted

技术标签:

【中文标题】Oracle vs MySQL - 插入【英文标题】:Oracle vs MySQL - Insert 【发布时间】:2014-09-10 11:48:09 【问题描述】:

在 Oracle 中,以下语句完美运行:

INSERT INTO fake_table (names, gender)
     VALUES ( (SELECT distinct(name)
                 FROM target_table),
             'F');

我不想碰SELECT 声明 - SELECT distinct(name) FROM target_table

话虽如此,我希望在 mysql 中具有相同的功能。我在 Select 语句中得到了许多带有静态值的代码,但我不是在寻找那个。 简单地说;我希望单独初始化“F”。

提前感谢您的帮助。 :)

【问题讨论】:

tl;dr rownum 是 Oracle 特定的功能。你将不得不改变它......对不起。 ***.com/questions/9008539/limit-results-in-mysql 的可能重复项(例如) 感谢@Ben 的快速回复...但是我对 rownum 替代方案不感兴趣。我希望在 Select 语句之外初始化“F”。如果我的问题不直,请原谅我。 【参考方案1】:
INSERT INTO fake_table (names, gender)
  SELECT s.*, 'F'
    FROM (
      -- your query
      SELECT distinct(name) FROM target_table
    ) s

【讨论】:

以上是关于Oracle vs MySQL - 插入的主要内容,如果未能解决你的问题,请参考以下文章

使用 PHP 将多行 Oracle 结果集插入 MYSQL

Mybatis中Oracle和Mysql批量插入的区别

Mybatis中Oracle和Mysql批量插入的区别

Mybatis中Oracle和Mysql批量插入的区别

ORA-01008 错误 - 使用 OleDb 将记录插入 Oracle DB

pageHelper分页查询oracle数据插入mysql时数据量变少