在我的 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;
关于php - 非主键自增字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9350655/