在我的MySQl表格中,我有两个字段id
和order
。 id
是一个自动递增的主键,我希望order
的初始值与此匹配,但也可以编辑,而不是键,没有唯一性约束。我的数据库插入方法如何实现这一目标?是否可以在不重新查询的情况下查找最后插入的ID?
我正在使用paris / idiorm,所以使用他们的功能的解决方案会很方便,虽然普通的SQL和PHP也很好。
答案 0 :(得分:3)
在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;