我正在使用 Oracle SQL Developer 构建数据库, 我得到了一张带有 city_id [PK] 和 city_name 的城市表, 我希望将我的 city_id 设为 char,我的数据如下所示
|----------------------|
| CT01 | MEXICO CITY |
| CT02 | NEW YORK CITY |
| CT03 | LONDON |
| CT04 | SYDNEY |
|----------------------|
另外,我想让我的主键有一个自增的功能,也就是说当我插入一个city_name时,city_id会增加1, 在这种情况下,如果我插入“HONG KONG”,它的 city_id 将自动设置为“CT05”。
我在网上做了一些研究,我发现使用触发器,但它只适用于数字类型的数据。
另外一个问题,当我创建一个表时,如果我的主键是一个数字,我想将它存储为这样的格式 -> 000001 我应该怎么做才能使我的数据看起来像这样?
谢谢。
请您参考如下方法:
不要这样做。
主键(和一般的键)用于为行提供唯一性。他们不应该性感或好看。它们是内部标识符。如果您尝试这样做,则意味着您想在某处公开 PK 值……这首先不是 PK 的目的。
如果您真的想要一个漂亮的标识符,那么您可以根据需要创建一个具有漂亮格式的辅助“生成”列。该列可以包括额外的格式,例如破折号(例如 SSN)、前缀(您的情况)、后缀等。