MariaDB 40

대규모 마이그레이션:두 번째 외래 키가 phpMyAdmin에서 보조 키로 생성되지 않음

대규모 마이그레이션:두 번째 외래 키가 phpMyAdmin에서 보조 키로 생성되지 않음 설명: 피벗 테이블을 만들 때 Laravel 마이그레이션 문제가 발생했습니다.두 개의 외부 키와 복합 기본 키로 피벗 테이블을 정의하는 마이그레이션이 있습니다.하지만 제가 phpMyAdmin에서 마이그레이션을 실행하고 테이블을 확인했을 때 하나의 외부 키만 보조 키로 생성되고 다른 하나는 생성되지 않습니다. 코드:

programing 2023.07.28

MariaDB의 IN 문에 잘못된 결과가 있습니까?

MariaDB의 IN 문에 잘못된 결과가 있습니까? IN 문을 사용할 때 MariaDB 인스턴스에서 상당히 이상한 문제가 발생했습니다. 예를 들어 일부 집계된 제품 볼륨 판매 장치에 대한 정보가 필요한 경우 다음과 같이 쿼리를 실행합니다. SELECT SUM( l.volume_given ) AS volume, COUNT( l.id ) AS sessions, l.order AS container, MIN( dev.NAME ) AS NAME, MIN( dev.address ) AS address, dev.id AS id FROM devices AS dev JOIN my_logs AS l ON dev.id = l.device_id WHERE l.created_at >= '2020-08-31 21:00:00' ..

programing 2023.07.23

MySQL(MardiaDB) 종속 테이블의 최신 레코드에서 정보를 가져오는 방법은 무엇입니까?

MySQL(MardiaDB) 종속 테이블의 최신 레코드에서 정보를 가져오는 방법은 무엇입니까? 2개의 기본 테이블이 있는 MySQL 데이터베이스(일부 서버에서는 MariaDB로도 작동)가 있습니다.하나는tickets그리고 또 하나는ticket_contents아래와 같이: Tickets +----+---------+-------------+ |id + subject | Create date | +----+---------+-------------+ |1 | Ticket1 | 2020-05-24 | +----+---------+-------------+ |2 | Ticket2 | 2020-05-25 | +----+---------+-------------+ Ticket Contents +----+------..

programing 2023.07.23

중첩된 JSON 생성

중첩된 JSON 생성 단순한 JSON에서 중첩된 JSON을 생성하려고 합니다.하지만 해결책을 찾을 수 있습니다. 다음은 제가 변환하려는 JSON입니다. [ { "station_id": "ESP0001", "datetime": "2022-11-25T06:43:06.000Z", "dimension": "temperature", "value": 15.33, "representation": "°C", "unit": "Celsius", "unit_id": 1 }, { "station_id": "ESP0001", "datetime": "2022-11-25T06:43:06.000Z", "dimension": "humidity", "value": 92, "representation": "%", "unit": "Perc..

programing 2023.07.18

데이터베이스 메일 보내기

데이터베이스 메일 보내기 저는 원인을 파악하기 위해 웹 애플리케이션에 트리거를 만들었습니다.트리거 코드에서 언급된 SQL에 따라 데이터가 변경될 때마다 이전 데이터를 별도의 테이블로 데이터베이스에 보관하지만 실시간 알림도 보내고 싶습니다.트리거가 호출될 때 실시간 알림을 위해 메일이나 다른 것을 보내는 방법이 있습니까? MariaDB Server + PHP를 사용하고 있습니다.데이터베이스의 트리거에서 이 작업을 수행하지 않는 것이 좋습니다.트랜잭션이 커밋되기 전에 트리거가 실행되기 때문입니다.클라이언트가 통지를 받은 후 데이터를 찾으면 아직 커밋되지 않았기 때문에 데이터가 표시되지 않을 수 있습니다. 또는 알림이 전송될 수 있지만 이후에는 트랜잭션이 롤백됩니다.따라서 알림의 원인이 된 변경 사항을 볼 수..

programing 2023.07.13

MariaDB 10.3에서 행을 열로 동적 변환

MariaDB 10.3에서 행을 열로 동적 변환 다음 테이블 데이터가 있습니다. 팀들 토너먼트 연상의 player_id MT 101 이지 100696 MT 101 이지 100439 MT 101 이지 102486 MT 101 이지 111887 MT 101 NGR 113563 MT 101 NGR 111959 MT 101 NGR 145024 MT 101 NGR 104514 MT 101 NGR 112092 WT 101 이지 202375 WT 101 이지 116724 WT 101 이지 134971 WT 101 이지 200157 WT 101 NGR 102441 WT 101 NGR 146169 WT 101 NGR 134970 WT 101 NGR 133736 WT 101 NGR 101247 행을 열로 바꾸고 다음을 가..

programing 2023.07.08

MariaDB 다시 시작 오류 "variable 'default-character-set = cp932'"

MariaDB 다시 시작 오류 "variable 'default-character-set = cp932'" 현재 Windows 10 64비트 환경에 MariaDB 10.6을 설치하고 있습니다.my.ini에 다음을 기록한 후 MariaDB를 다시 시작합니다. [mariadbd] datadir = C: / Program Files / MariaDB 10.6 / data port = 3306 innodb_buffer_pool_size = 2035M character-set-server = utf8mb4 [client] port = 3306 [mariadb] default-character-set = cp932 그러면 다음 오류가 발생합니다. 2021-07-21 5:29:53 0 [ERROR] C: \ Prog..

programing 2023.07.03

도커 작성 - 진입점 권한 오류(mariadb)

도커 작성 - 진입점 권한 오류(mariadb) 저는 많은 시도를 했고 이것을 찾아봤지만, 아무도 저의 정확한 문제를 가지고 있지 않은 것 같습니다. 다음 단계와 테스트 실행을 사용하여 Ubuntu 20.04 LTS에 도커를 설치했습니다.docker run hello-world완벽하게 작동합니다. 나의docker-compose.yml다음과 같이 표시됩니다. version: '3.7' services: db: image: mariadb environment: MYSQL_ROOT_PASSWORD: 42 volumes: - type: bind source: ./dbsetup target: /docker-entrypoint-initdb.d adminer: image: adminer ports: - 8080:80..

programing 2023.06.13

MariaDB 10.1.44 row_number()가 없는 행 번호

MariaDB 10.1.44 row_number()가 없는 행 번호 이 작업을 수행하고 싶습니다. SELECT * , ROW_NUMBER() OVER (PARTITION BY Id ORDER BY score DESC, creationDate DESC) as num FROM DB ORDER BY score DESC, creationDate DESC 그러나 MariaDB 10.1에서는 row_number를 사용할 수 없습니다.저는 이것을 할 수 있었습니다. SELECT db2.*, (@rn := IF(@Id = Id, @rn + 1, IF(@Id := Id, 1, 1) ) ) as num from (SELECT * FROM DB ORDER BY Id DESC , score DESC, creationDate ..

programing 2023.06.08

mariadb의 문자열에 대한 SQL Content

mariadb의 문자열에 대한 SQL Content 저는 XAMP에서 로컬 데이터베이스 Mariadb에서 작업하고 있으며 int에 단어를 추가/컨택하고 싶습니다. 이것은 제 질문입니다. Select 'id:' + cast(Cid as varchar) from table where Cid is 3747; 결과는 ID:3747이어야 합니다. 내가 여기서 뭘 잘못하고 있는 거지?CONCAT를 사용합니다. 그리고.IS연산자는 [NOT] NULL에만 사용됩니다. F.e.select col from tbl where col IS NOT NULL select concat('id:', Cid) as result from table where Cid = 3747 하지만 당신은 사용할 수 있습니다.IN또한. select ..

programing 2023.06.08