如何在googleappmaker的cloudsql中创建唯一的行

5ktev3wc  于 2021-06-24  发布在  Mysql
关注(0)|答案(1)|浏览(499)

各位应用程序制造商大师,
我可以在app maker>cloud sql中创建模型(例如department)。我知道如何创建基本模型,部门和字段代码,名称,生效日期
e、 g.代码/名称/生效日期it/信息技术/2018年1月1日it/信息技术与证券交易委员会/2018年5月1日
我想说的是,从2018年5月1日起,it部门被称为“信息技术与证券交易委员会”。当我的“代码”现在是主键并且由于重复键而不接受另一行时,我该如何执行呢?唯一键应该是code+effectivedate的组合。
如何在google app maker中配置?
谢谢你的指导。

gcxthw6b

gcxthw6b1#

如果您可以直接访问数据库,则可以为多个列设置唯一约束:

ALTER TABLE `Department` ADD UNIQUE `unique_index`(`Code`, `EffectiveDate`);

但不幸的是,目前appmaker不支持对多个字段的唯一约束,但您可以通过脚本来强制执行它。不处理并发的最简单实现是:

// onBeforeSave model event
var query = app.models.Department.newQuery();

query.filters.Code._equals = record.Code;
query.filters.EffectiveDate._equals = record.EffectiveDate;

var records = query.run();

if (records.length > 0) {
  throw new Error('Duplicate entry');
}

相关问题