gpt4 book ai didi

sql-server - 如何自动递增 varchar?

转载 作者:行者123 更新时间:2023-12-02 13:59:17 25 4
gpt4 key购买 nike

我可以在一张表中为供应商“s0001、s0002”创建一个主键(如“c0001、c0002”)吗?

最佳答案

  1. 数据库设计的理念是保持每个数据元素独立。每个元素都有自己的数据类型、约束和规则。那c0002不是一个字段,而是两个字段。与 XXXnnn 相同管他呢。这是不正确的,它将严重限制您使用数据、使用数据库功能和设施的能力。

    将其分解为两个离散的数据项:
    column_1 CHAR(1)<br/>
    column_2 INTEGER

    然后在column_2上设置自动增量

    是的,您的主键可以是 (column_1, column_2) ,所以你并没有失去任何意义c0002适合您。

  2. 切勿将供应商和客户(无论“c”和“s”的含义如何)放在同一个表中。如果这样做,您将不会拥有数据库表,而是拥有平面文件。以及随之而来的各种问题和限制。

    这意味着,标准化数据。你最终会得到:

    • 一张 table PersonOrganisation包含公共(public)数据( Name, Address ...)
    • 一张 table Customer包含客户特定数据 (CreditLimit ...)
    • 一张 table Supplier包含供应商特定数据 ( PaymentTerms ...)
    • 没有不明确或可选的列,因此没有 Null
    • 对使用或 SQL 函数没有限制

    当您需要添加列时,您只需在需要的地方添加列,而不会影响平面文件的所有其他功能。影响范围仅限于变更范围。

关于sql-server - 如何自动递增 varchar?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4699591/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com