小编Lec*_*cko的帖子

PostgreSQL约束 - 只有一行可以设置标志

我有一个PostgreSQL表

CREATE TABLE my_table
(
  id serial NOT NULL,
  name text,
  actual boolean DEFAULT false,
  CONSTRAINT my_table_pkey PRIMARY KEY (id),
);
Run Code Online (Sandbox Code Playgroud)

如何设置只有一行可以actual设置标志的约束TRUE

sql postgresql

20
推荐指数
3
解决办法
7624
查看次数

FMT C ++库:允许用户为自定义类型设置格式说明符

例如,我有一个自定义类型

struct custom_type
{
    double value;
};
Run Code Online (Sandbox Code Playgroud)

我想为此类型设置自定义FMT格式器。我执行以下操作,并且有效:

namespace fmt
{
    template <>
    struct formatter<custom_type> {
        template <typename ParseContext>
        constexpr auto parse(ParseContext &ctx) {
        return ctx.begin();
    };

    template <typename FormatContext>
    auto format(const custom_type &v, FormatContext &ctx) {
        return format_to(ctx.begin(), "{}", v.value);
    }
};
Run Code Online (Sandbox Code Playgroud)

但是问题是,输出格式是由带有此"{}"表达式的模板代码设置的。我想给用户一个机会自己定义格式字符串。

例如:

custom_type v = 10.0;
std::cout << fmt::format("{}", v) << std::endl;    // 10
std::cout << fmt::format("{:+f}", v) << std::endl; // 10.000000
Run Code Online (Sandbox Code Playgroud)

我怎样才能做到这一点?

目前,当我设置自定义格式字符串时,

 what():  unknown format specifier
Run Code Online (Sandbox Code Playgroud)

c++ fmt

9
推荐指数
1
解决办法
321
查看次数

getWritableDatabase返回null

我有Android服务,它使用SQLite数据库.我在数据库初始化方面遇到了一些麻烦.

我有DBHelper类:

public class DBHelper extends SQLiteOpenHelper{
public boolean db_loaded=false;
public DBHelper() {
    super(ContextBean.getLocalContext(), "resplugin1.db", null, 1);
}
@Override
public void onCreate(SQLiteDatabase db) {
    db.execSQL("create table tasks ("
            + "id integer primary key autoincrement,"
            + "title text);");
    db_loaded=true;
}
Run Code Online (Sandbox Code Playgroud)

我有使用它的客户端类:

public class DataProvider {
private SQLiteDatabase database;
private DBHelper dbHelper;

public DataProvider(){
    dbHelper=new DBHelper();
    database = dbHelper.getWritableDatabase();
}
public void close(){
    dbHelper.close();
}
public TaskDescriptor getTaskById(int id){
    while(dbHelper.db_loaded==false){}
    String[] args={Integer.toString(id)};
    if(database==null){
        Log.d("ResPluginService1","DATABASE IS NULL");
    }
/*...*/
}
Run Code Online (Sandbox Code Playgroud)

问题是数据库对象总是NULL. …

sqlite android

5
推荐指数
0
解决办法
1166
查看次数

将返回值从INSERT ... RETURNING保存到临时表(PostgreSQL)

我有一个table1带有列的表id,value1value2.

我也有一个问题

INSERT INTO table1(value1,value2) SELECT value3,value4 FROM table2 RETURNING id
Run Code Online (Sandbox Code Playgroud)

返回一组id.我想在一些临时表中存储返回值(这些ID).像这样的东西:

INSERT INTO TEMP temp1 INSERT INTO table1(value1,value2) SELECT value3,value4 FROM table2 RETURNING id
Run Code Online (Sandbox Code Playgroud)

我该怎么做?

DBMS是PostgreSQL

sql postgresql

4
推荐指数
1
解决办法
2439
查看次数

Qt中的制表符顺序

我使用Qt Designer创建了复杂的UI。它具有嵌套小部件的层次结构。我需要某些选项卡顺序才能在这些小部件内的控件之间切换。但据我所知,Qt设计器仅允许在一个小部件内定义选项卡顺序。如何在全球范围内做?

c++ qt qt-designer

2
推荐指数
1
解决办法
2830
查看次数

“多对多”表中的主键

我在提供“多对多”连接的 SQL 数据库中有一个表。

该表包含两个表的 id 和一些字段,其中包含有关连接的附加信息。

CREATE TABLE SomeTable (
  f_id1 INTEGER NOT NULL,
  f_id2 INTEGER NOT NULL,
  additional_info text NOT NULL,
  ts timestamp NULL DEFAULT now()
); 
Run Code Online (Sandbox Code Playgroud)

该表预计包含 10 000 - 100 000 个条目。

如何更好地设计主键?我应该创建一个额外的“id”字段,还是从两个 id 创建一个复杂的主键?

DBMS 是 PostgreSQL

sql postgresql

1
推荐指数
1
解决办法
1375
查看次数

标签 统计

postgresql ×3

sql ×3

c++ ×2

android ×1

fmt ×1

qt ×1

qt-designer ×1

sqlite ×1