여러 스크립트에서 Mariadb에 삽입
그래서 현재 저는 파이썬을 사용하여 매 시간마다 센서 데이터를 기상 데이터베이스에 삽입하는 스크립트가 하나 있습니다.
이제 강우 데이터를 매 시간마다 같은 테이블에 추가하는 두 번째 스크립트를 추가했습니다.
이제 문제는:두 번째 스크립트가 삽입되면 다른 모든 값이 '제로'가 됩니다.그라파나로 표시됩니다.
내가 어딘가에 덮어쓰고 있거나, 누군가가 나를 올바른 방향으로 가리켜 줄 수 있다면.
날씨 센서가 문을 삽입합니다.
sql=("INSERT INTO WEATHER_MEASUREMENT (AMBIENT_TEMPERATURE, AIR_PRESSURE, HUMIDITY) VALUES ({},{},{})".format(temperature,pressure,humidity))
mycursor.execute(sql)
weatherdb.commit()
강우 센서 삽입
sql=("INSERT INTO WEATHER_MEASUREMENT (RAINFALL) VALUES ({})".format(rainfall))
mycursor.execute(sql)
weatherdb.commit()
내가 제대로 이해했는지 알려주세요: "WEATHER_MEASUREMENT" 테이블에는 4개의 열(부품 ID)이 있습니다: 주변 온도, 공기 압력, 습도 및 강우.CLOUP 값을 추가하면 테이블에 다른 열 값이 "NULL"인 새 행이 생성되는데 이것이 문제입니까?이 경우 다음과 같은 쿼리를 사용하여 기존 행을 업데이트할 수 있습니다.
sql = ("""
UPDATE _ WEATHER_MEASUREMENT
SET RAINFALL = "{}"
WHERE id_of_the_row = {}
""".format(rainfall, id)
mycursor.execute(sql)
날씨 센서 삽입 문으로 방금 만든 행의 ID를 확인하는 방법을 찾아야 합니다(시기가 확실한 경우 마지막으로 삽입한 행을 검색할 수도 있습니다).
/!\NOTE/!\victor-stafusa-bozonacadeia의 코멘트에서 언급한 바와 같이 형식화된 문자열로 만들어진 SQL 요청은 SQL 주입에 취약합니다.포맷에 사용되는 변수가 코드에서 오고 안전한 것으로 알려진 경우에만 안전하게 사용할 수 있습니다.변수 내용이 사용자 입력과 같이 외부에서 오는 경우 문자열 형식 지정을 사용하지 마십시오.
쿼리 내용이 출처가 불분명한 경우 "쿼리를 검사"해야 합니다.찾은 요청을 검사할 수 있는 원시 SQL 요청에 가장 가까운 방법은 "text" 쿼리와 "bind parameters"가 있는 sqlalchemy 모듈을 사용하는 것입니다.자세한 내용은 여기에서 확인할 수 있습니다. https://docs.sqlalchemy.org/en/20/core/sqlelement.html#sqlalchemy.sql.expression.text
언급URL : https://stackoverflow.com/questions/64497915/inserting-to-mariadb-from-multiple-scripts
'programing' 카테고리의 다른 글
인증을 포함한 Python 요청(access_token) (0) | 2023.08.25 |
---|---|
스크롤 가능한 div의 맨 위로 다시 스크롤합니다. (0) | 2023.08.25 |
ASP.NET 웹 API 애플리케이션이 IIS 7에 배포될 때 404를 제공함 (0) | 2023.08.25 |
상위 패딩 무시 (0) | 2023.08.25 |
ASP.NET에서 JSON 요청을 탐지하는 가장 좋은 방법은 무엇입니까? (0) | 2023.08.25 |