我们在发票管理应用程序上工作,我们已经添加了2列到数据库发票编号。和客户id,那么我们如何才能给出唯一的否。对于像2011/1这样的发票,对于客户id,我们如何放入Cust-1?甚至有没有可能开始开发票号。在每个新的财政年度开始时再次从1开始(如2012/1)?
发布于 2011-03-26 02:53:55
这是一个非常奇怪的方案,并且没有自动递增,您必须自己管理它(通常,自我管理递增主键的共识是:不要)。
在您的表中,添加一个整数列,如InvoiceID int NOTNULL autoincrement。如果您还想指定年份,可以添加一个类似Year int的列,但我认为DateStamp列(获取插入记录时的时间/日期)将是更好的DateStamp DATETIME NOTNULL defaultvalue: now()
可以重置AutoIncrement:
ALTER TABLE some_table AUTO_INCREMENT=2示例:
发布于 2011-03-26 02:54:11
你是在问而不是问“发票号”吗?作为列标题,你让它在它的位置显示"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发布于 2011-03-26 02:55:31
auto increment documentation可能就是你要找的东西。本质上,两列都定义了主键,但自动增量是在第二列上。
https://stackoverflow.com/questions/5436726
复制相似问题