如何在sqlite3中自动增加自定义主键?

时间:2018-12-10 15:33:24

标签: sql python-3.x sqlite

我希望我的问题不会被标记为this one的重复,因为虽然本质上是我希望使用SQLite3完成此问题,但仍是同一问题。

[场景]

我有3个数据库表,创建如下:

CREATE TABLE INVENTORY (
    Item_SKU INTEGER PRIMARY KEY AUTOINCREMENT,
    Item_Title TEXT,
    Item_Price REAL);
CREATE TABLE CUSTOMERS (
    Customer_ID INTEGER PRIMARY KEY AUTOINCREMENT,
    C_First_Name TEXT,
    C_Last_Name TEXT);
CREATE TABLE ORDERS (
    Invoice_ID INTEGER PRIMARY KEY AUTOINCREMENT,
    Customer_ID INTEGER,
    Item_SKU INTEGER,
    FOREIGN KEY(Customer_ID) REFERENCES CUSTOMERS(Customer_ID),
    FOREIGN KEY(Item_SKU) REFERENCES INVENTORY(Item_SKU));

我要完成的工作是对所有主键使用自定义前缀,这样Item_SKU会自动在第一行填充INVEN001之类的内容,并自动递增到{{1 }}然后INVEN002

我也想让INVEN003Customer_IDCUST001自动递增。

然后最后在CUST002表中,我想连接外键并将结果用作ORDERS主键值,这样结果将类似于{{1} },Invoice_ID

这可行吗?还是我远远超出了SQL领域,以至于这根本没有意义或根本没有必要?任何建议都非常感谢。

1 个答案:

答案 0 :(得分:0)

您为什么不以编程方式执行此操作?创建一个新列,并在其中添加一个值,该值将前缀与PRIMARY KEY的值连接在一起?那么,在每个表中输入条目时,您是否同时添加了该值?