소스 검색

增加id是否存在的逻辑

master
OCEAN 2 달 전
부모
커밋
752ecfc884
5개의 변경된 파일16개의 추가작업 그리고 1개의 파일을 삭제
  1. +16
    -1
      tcp_server/src/main.rs
  2. BIN
      tcp_server/target/debug/deps/tcp_server.exe
  3. BIN
      tcp_server/target/debug/deps/tcp_server.pdb
  4. BIN
      tcp_server/target/debug/tcp_server.exe
  5. BIN
      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> {
// 先检查 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(
"INSERT INTO public.hy_instrument (id, informationid, instrumentcode, laboratoryid, name, remark, specification)
OVERRIDING SYSTEM VALUE
@@ -57,7 +72,7 @@ async fn insert_instrument(client: &tokio_postgres::Client, info: &InstrumentInf
)
.await?;

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



BIN
tcp_server/target/debug/deps/tcp_server.exe 파일 보기


BIN
tcp_server/target/debug/deps/tcp_server.pdb 파일 보기


BIN
tcp_server/target/debug/tcp_server.exe 파일 보기


BIN
tcp_server/target/debug/tcp_server.pdb 파일 보기


불러오는 중...
취소
저장