插入具有多个id的计算值

  • 本文关键字:计算 id 插入 liquibase
  • 更新时间 :
  • 英文 :


我正在尝试将值插入数据库。我认为SQL应该是这样的:

INSERT INTO `tb_config` (`name`, `value`, `description`, `unity_id`)
(SELECT 'new_rule', true, 'rule description', id FROM tb_unity );

然而,我想用Liquibase做,使用一个更改集:

<changeSet author="Luis Sukys" id="1022" >
    <insert tableName="tb_config">
        <column name="name">new_rule</column>
        <column name="value">false</column>
        <column name="descricao">rule description</column>
        <column name="unidade_id" valueComputed="SELECT id FROM tb_unity" />
    </insert>
</changeSet>

我已经看到valueComputed的使用,但是有一个where子句。这个想法是,它在tb_config中为tb_unity中的每个id包含一行。我实际上是从liquidbase获得'ValidationFailedException'。任何帮助吗?

我在MySQL中使用Navicat,当我运行这段代码时,它为tb_unity中的每一行包含一个新行int tb_config。我从tb_unity中使用的字段是'id'。如果我在tb_unity中有05个单位,它必须在tb_config中添加05行,具有相同的值,只更改单位的id。

如果您尝试使用任何SQL工具运行该SQL,您将看到问题是您确实需要where子句。您想使用tb_unity的哪一行的id ?

相关内容

  • 没有找到相关文章

最新更新