浏览代码

增加id是否存在的逻辑

master
OCEAN 2 个月前
父节点
当前提交
752ecfc884
共有 5 个文件被更改,包括 16 次插入1 次删除
  1. +16
    -1
      tcp_server/src/main.rs
  2. 二进制
      tcp_server/target/debug/deps/tcp_server.exe
  3. 二进制
      tcp_server/target/debug/deps/tcp_server.pdb
  4. 二进制
      tcp_server/target/debug/tcp_server.exe
  5. 二进制
      tcp_server/target/debug/tcp_server.pdb

+ 16
- 1
tcp_server/src/main.rs 查看文件

@@ -41,6 +41,21 @@ async fn connect_db(config: &Config) -> Result<tokio_postgres::Client, PgError>
} }


async fn insert_instrument(client: &tokio_postgres::Client, info: &InstrumentInfo) -> Result<(), PgError> { async fn insert_instrument(client: &tokio_postgres::Client, info: &InstrumentInfo) -> Result<(), PgError> {
// 先检查 ID 是否存在
let exists = client
.query_one(
"SELECT EXISTS(SELECT 1 FROM public.hy_instrument WHERE id = $1)",
&[&info.id],
)
.await?
.get::<_, bool>(0);

if exists {
println!("ID {} 已存在,跳过插入", info.id);
return Ok(());
}

// ID 不存在,执行插入
client.execute( client.execute(
"INSERT INTO public.hy_instrument (id, informationid, instrumentcode, laboratoryid, name, remark, specification) "INSERT INTO public.hy_instrument (id, informationid, instrumentcode, laboratoryid, name, remark, specification)
OVERRIDING SYSTEM VALUE OVERRIDING SYSTEM VALUE
@@ -57,7 +72,7 @@ async fn insert_instrument(client: &tokio_postgres::Client, info: &InstrumentInf
) )
.await?; .await?;


println!("成功插入仪器信息: {}", info.instrumentcode);
println!("成功插入仪器信息: {} (ID: {})", info.instrumentcode, info.id);
Ok(()) Ok(())
} }




二进制
tcp_server/target/debug/deps/tcp_server.exe 查看文件


二进制
tcp_server/target/debug/deps/tcp_server.pdb 查看文件


二进制
tcp_server/target/debug/tcp_server.exe 查看文件


二进制
tcp_server/target/debug/tcp_server.pdb 查看文件


正在加载...
取消
保存