在我的 MySQl 表中,我有两个字段,id
并且order
. id
是一个自动递增的主键,我希望order
的初始值与此匹配,但也是可编辑的,不是键且没有唯一性约束。我的数据库插入方法如何实现这一点?是否可以在不重新查询以查找最后插入的 id 的情况下这样做?
我正在使用 paris/idiorm,因此使用它们的功能的解决方案会很方便,尽管简单的 SQL 和 php 也可以。
在 MySQL(自 5.0.2 版起)中,您可以创建触发器。
在非生产数据库上试试这个:
create trigger default_order_value AFTER INSERT ON orders
UPDATE order SET order = id WHERE id = new.id;
它可能无法按您希望的方式工作,但您可以对其进行编辑。这是另一个触发示例:
CREATE TRIGGER default_order
BEFORE UPDATE ON orders
REFERENCING NEW ROW AS n
n.order = n.id;