为mysql数据添加前缀

时间:2011-03-25 18:41:39

标签: php mysql

我们正在处理发票管理应用,我们已向db Invoice no添加了2列。和客户ID,所以我们怎么能给出一个独特的号码。发票如2011/1和客户ID如何我们把Cust-1?甚至有没有可能开始发票没有。在每个新财政年度开始时从1再次(如2012/1)?

4 个答案:

答案 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)

将列结构设置为......

  • invoice_id ==自动递增
  • invoice_year ==年(现在())
  • invoice_customer_id == customer_id from customer table
  • 等...

...然后在视图中向最终用户显示连接的ID(2011-1-1234)。

您似乎需要根据输出组织架构。