【问题标题】:How to properly store a file location to a postgresql table?如何正确地将文件位置存储到 postgresql 表中?
【发布时间】:2020-09-30 15:18:58
【问题描述】:

我对 postgresql 很陌生。我现在不打算深入研究它,因为我还有其他优先主题要完成。但是现在我需要了解一些postgresql的基础知识才能完美的完成一个个人项目。

我需要将文件位置保存在 postgresql 表的列中。

  1. 在创建表格时,我应该为表格保留什么类型?
  2. 如何找回文件名?
  3. 我必须存储一个 10 位数长的号码?如果我将类型指定为 int 可以吗?
CREATE TABLE "Test" (
  "test_id" uuid,
  "user_id" int,
  "test_name" text,
  "saved_location" Type,
  PRIMARY KEY ("test_id")
);

我想将 user_id 作为 FK,但不知道该怎么做。我会详细研究 SQL 并做到这一点,但我在另一门课程上的时间很紧。请帮我。 我正在使用python。提前致谢。

【问题讨论】:

    标签: python sql python-3.x postgresql postgresql-9.5


    【解决方案1】:

    我不明白问题 1。表没有类型,它们只是表,除非您使用临时表。 对于文件名和保存位置之类的东西,一般用任何字符串 varchar 都会解决你所有的问题。您希望将 varchar 数据类型设置为您的用例中字符串的最大长度,因为无论它包含的字符串有多短,该列都需要多少存储空间。

    对于文件名和保存位置,我认为 varchar(100) 就足够了,但这取决于你。如果设置的太短,尝试插入数据会报错。

    要获取文件名,从这个堆栈溢出线程开始可能会让你朝着正确的方向前进?我不完全确定你需要什么。 How do I get the full path of the current file's directory?

    10 位数字...

    int 数据类型可以在 -2^31 (-2,147,483,648) 到 2^31-1 (2,147,483,647) 范围内携带任何数字。如果您的 10 位数字需要更高或更低,请使用 BIGINT 数据类型(它会使用更多存储空间,但我怀疑您是否对此很在意。

    https://www.postgresqltutorial.com/postgresql-integer/

    【讨论】:

    • 谢谢。实际上,我对这个 postgresql 感到很困惑,因为我找不到合适的教程。当我尝试执行某些命令时,我在网上看到的一些命令无法正常工作。你对从哪里开始或任何事情有什么建议吗?我已经在我的电脑上安装了 postgresql,但我觉得它比我想象的要难一些。
    • 如果你知道如何用一种 sql 方言做某事,那么弄清楚如何在 postgres 中做这件事并不难。所以尝试在mysql或sql server中搜索解决方案。然后,一旦您知道要执行的操作的名称,请搜索 postgres 执行方式。
    • 我会试试的。谢谢
    猜你喜欢
    • 1970-01-01
    • 2021-07-25
    • 1970-01-01
    • 2020-04-02
    • 2017-09-29
    • 2018-09-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多