lastInsertId(tableName_id_seq)返回:未定义表:7错误:关系“ tableName_id_seq”不存在

时间:2019-02-04 17:09:29

标签: mysql postgresql symfony insert doctrine

将数据插入表中的foreach中,并且我需要插入最后一个ID。

我将插入第一个实体,获取ID并插入一个与此ID关联的子实体。

数据库POSTGRES-ENV Symfony 4

代码:

$conn = $em->getConnection();
//Here i do an Insert ( always an INSERT )
$Id = $conn->lastInsertId('tableName_id_seq');

此返回:     未定义表:7错误:关系“ tableName_id_seq”不存在

我觉得我的序列没有在数据库中创建 我在调用lastInsertID之前不关闭连接 总是在lastInsertID之前取消插入

此查询:

select sequence_schema, sequence_name from information_schema.sequences;

返回0行

2 个答案:

答案 0 :(得分:2)

有了with sortingParams (columnName, isAsc) AS (VALUES ('ItemId', true)) select * FROM "TenderItem" i, sortingParams WHERE i."TenderId" = 1 AND i."ItemInfo" ->> 'Name' like '%Transcend%' ORDER BY case WHEN columnName like '%ItemId%' THEN i."ItemId" --*work WHEN columnName like '%ABCSegment%' THEN i."ItemInfo" ->> 'ABCSegment' --** end desc; ,您无需提供MySQL

您能尝试tableName_id_seq

答案 1 :(得分:0)

绝对不能使用lastinsertId(), 我找到了

RETURNING id 

在查询中,然后在

之后
$preparedQuery->execute()

我做

$preparedQuery->fetchAll()