我们正在处理发票管理应用,我们已向db Invoice no添加了2列。和客户ID,所以我们怎么能给出一个独特的号码。发票如2011/1和客户ID如何我们把Cust-1?甚至有没有可能开始发票没有。在每个新财政年度开始时从1再次(如2012/1)?
答案 0 :(得分:0)
这是一个非常奇怪的方案,并且没有自动增量,你必须自己管理它(一般来说,自我管理递增主键的共识是:不要)。
在表格中,添加一个整数列,例如InvoiceID int NOTNULL autoincrement
。如果您还要指定年份,可以添加Year int
之类的列,但我认为DateStamp列(获取插入记录的时间/日期)会更好DateStamp DATETIME NOTNULL defaultvalue: now()
< / p>
可以重置AutoIncrement:
ALTER TABLE some_table AUTO_INCREMENT=2
答案 1 :(得分:0)
您是在询问而不是“发票编号”作为列标题你在它的位置显示“2011/1”?此外,如果您的字段名称中有空格,建议将其删除,或添加下划线,这样您就不需要在它们周围加上引号。
SELECT "Invoice No" AS "2011/1", "Customer ID" AS "Cust-1" FROM table
或
SELECT InvoiceNo AS "2011/1", CustomerID AS "Cust-1" FROM table
答案 2 :(得分:0)
auto increment documentation可能正是您要找的。实质上,主键是为两列定义的,但自动增量位于第二列。
答案 3 :(得分:0)
将列结构设置为......
...然后在视图中向最终用户显示连接的ID(2011-1-1234)。
您似乎需要根据输出组织架构。