在Postrges中,我知道如何使用具有序列号id的列创建表:
CREATE TABLE Tag (
id SERIAL PRIMARY KEY,
name TEXT NOT NULL
);
不过,我更希望我的ID有一个人类可读的方面。我通常会做一些类似于标记1、标记2、标记3的事情。
我看过关于如何生成UUID的说明(在Postgres中为Insert语句生成UUID?),但我真的不需要。基本序列号已经足够了,我只想在开头加上前缀。
如何创建带有公共前缀的字符串的序列号?
您可以使用一个序列来实现这一点,您可以将该序列作为默认值添加到表中,该默认值通过与所需前缀串联在一起,例如。
CREATE SEQUENCE tag_seq START WITH 1;
CREATE TABLE tag
(id TEXT NOT NULL DEFAULT 'tag_'||nextval('tag_seq'::regclass),
name TEXT);
INSERT INTO tag (name) VALUES ('foo'),('bar');
SELECT * FROM tag;
id | name
-------+------
tag_1 | foo
tag_2 | bar
(2 Zeilen)
演示:<代码>数据库
我有一套弦。其中90%是以开头的URL。我想按字母顺序排序。 对于这个问题,有没有比普通的快速排序/基数排序更好的算法?
问题内容: 我有一个像这样的数组: 我想找到字符串的最长公共前缀。在这种情况下, 我以为我会遵循这个程序 问题 是否有内置函数或更简单的方法? 对于我的5行数组来说可能还不错,但是如果我要做几千行数组,那么将会有很多开销,所以我必须使用起始值进行移动计算,例如=字符串的一半,如果它失败,然后直到它起作用,然后再递增1直到我们成功。这样我们就可以进行最少的比较以获得结果。 是否已经有解决此类问题的公
问题内容: 我想要这个HTML … …像这样渲染 Q1。苹果 Q2。橘子 换句话说,我希望自动生成的数字以静态字符串“ Q”为前缀。 我试过这样的CSS: 但这产生了: 苹果 橙子 我也尝试过使用“ list-style:numberedinside;”,但这只是将列表右移,结果相同。我找不到以任何方式引用自动生成的数字元素来向其添加CSS样式信息的方法。这似乎是一个简单,常见的场景,但是我找不到
问题内容: 对于JUnit测试,我需要一个由多行组成的String。但是我得到的只是一个单行字符串。我尝试了以下方法: 我也尝试了。System.getProperty(“ line.separator”)也不起作用。它产生一个in字符串,没有回车符。那么我该如何解决呢? 问题答案: 感谢您的回答。我错过了我的数据存储在传递给测试方法的。错误是我将字符串放入ArrayList的第一个元素中。这就是
...现在我想用这个文本创建一个字符串。例如在Python中: 但Python并不认为这是字符串,因为它包含换行符。我如何使这个文本成为一个字符串?
问题内容: 假设我有一个自定义类,该类实现/重写了一些方法: 现在,我现在必须通过在构造函数中传递一个字符串来手动创建的实例: 这还不错,但是它导致了这样的想法,即使用类似于or或or的自定义字符串前缀会很酷。 是否有可能在Python中创建/注册这样的自定义字符串文字前缀,以使文字产生新的实例? 还是将这些前缀硬编码到Python解释器中? 问题答案: 这些前缀在解释器中进行了硬编码,您不能注册