【发布时间】:2017-10-04 15:37:54
【问题描述】:
所以我创建了一个 sql 脚本,其中包含我在 postgresql 数据库中运行的大量数据。我在应用程序中使用 Doctrine2 ORM 来处理数据库。
我想解决的问题如下:
如果我的插入行是这样的:
INSERT INTO interneo.services VALUES
(1, 'test', 'test', 'root', 'foo', false, now(), now());
如果我现在想从应用程序中添加一个新服务(这将使用 Doctrine 插入行),它会向我发送一个错误,说 id 1 已被占用。如果我重新加载页面,它将起作用。我猜 Doctrine 有某种计数器,每个模型都从 1 开始。
有没有办法让“计数器”从最后插入的行的 id 开始?或者也许是我的脚本中的一种方式,该学说将考虑在内? (比如 DEFAULT 而不是 1 什么的,但是 postgresql 似乎没有这样的东西,或者我没有搜索正确)。
无论如何,感谢您的帮助。非常感谢。
【问题讨论】:
-
为什么不在插入前读取现有值?
-
感谢您的宝贵时间!如果教义必须在每次插入之前读取整个表,那不是问题吗?由于有一些大桌子,它会减慢速度吗?
-
我的意思是尝试选择要插入的具有 id 的单个记录。
-
去试试,谢谢你的帮助!
-
好像行得通,但是表很多,功能已经实现了,不知道有没有更通用的方式?像学说中的方法还是什么? ://
标签: php postgresql symfony doctrine-orm