1

我有一个 filemaker 脚本,它在几个导入的 mySQL 表上插入一个新条目。我需要在创建这些条目时获取它们的唯一 ID(之前或之后,无论哪种方式),以便稍后在脚本中引用它们。这在 SQL 中很容易做到LAST_INSERT_ID(),但我似乎无法在 filemaker 中找到。

我尝试过的没有用:

  • GetNextSerialValue ( Get ( FileName )&".fp7" ; "jos_users::id" )
    #returns nothing,在 ODBC 表上不能正常工作
  • Get(RecordID)
    #本地值与mySQL唯一ID不对应

提前致谢!任何建议表示赞赏。

4

1 回答 1

3

您如何在 MySQL 表中创建记录?您是使用 FileMaker 的 ESS 和本机“新记录”命令插入新记录,还是使用执行 SQL[] 脚本步骤?还是有什么不同?

下一个序列值和记录 ID 值是 FMP 特定的,在这里不适用(除非您的 MySQL 主键是由 FMP 管理的序列值)。

通过“新记录”,FileMaker 将您的记录上下文设置为新记录。因此,如果您的“jos_users”表出现是 MySQL 表的别名,则调用“新记录”会将您置于该记录的上下文中。然后,您可以将变量设置为“id”列中的内容。

Go To Layout ["jos_users" (jos_users)]
New Record/Request
Commit Records/Requests[No dialog]
Set Variable [$lastInsertID; jos_users::id]

这假定您的 MySQL 记录在记录插入时被赋予了正确的 ID,并且可以通过您应用的任何验证检查来提交记录。

如果您正在使用其他流程创建记录,请告诉我们,我们可以就如何获得价值向您提供建议。

于 2009-07-20T21:55:11.167 回答