我需要有一列作为主键,另一列是自动递增订单号字段.这可能吗?
编辑:我想我只会使用一个复合数作为订单号.不管怎么说,多谢拉.
我想有一个触发器来执行插入记录的以下操作:
# pseudocode
if new.group_id is null
set new.group_id = new.id
else
# don't touch it
end
Run Code Online (Sandbox Code Playgroud)
更清楚地说:我有一个包含三列的表:idprimary key,group_idint,valuevarchar.
当我group_id像这样插入时:
INSERT INTO table(value, group_id) VALUES ('a', 10)
Run Code Online (Sandbox Code Playgroud)
我想:
id | group_id | value
---+----------+------
1 | 10 | a
Run Code Online (Sandbox Code Playgroud)
但是当我省略时group_id:
INSERT INTO table(value) VALUES ('b')
Run Code Online (Sandbox Code Playgroud)
它应该自动设置id为此记录的:
id | group_id | value
---+----------+------
2 | 2 | b
Run Code Online (Sandbox Code Playgroud)
是否可以使用触发器?(我知道我可以在插入后更新记录,但触发器会更好.)
我正在使用php和mysql.我有一个表,其id列设置为自动递增作为主键.我正在尝试添加另一个名为sort_order的列.插入行时,sort_order列应自动递增.然后用户将能够更改sort_order值.但是mysql不允许自动增加多个列?
自动增加sort_order值的最佳方法是什么?
通过流行的请求,一些更多的解释.
在管理区域中,用户将具有类别列表.使用javascript,用户可以拖动他们想要类别的顺序.脚本然后发布新订单中所有ID的列表,以及旧订单中的sort_order值.
然后我有一个php函数,用新的sort_order值更新mysql.
所有这些都已经完成,除了我手动填写了所有sort_order值.我希望它能够在用户创建新类别时获得值.
然后我可以使用sort_order在前端正确显示类别顺序.
我已经完成了一切.但在开发过程中,我手动填写了sort_order的值.