본문 바로가기

SQL2314

MySQL Workbench에서 열 플래그는 무엇을 의미합니까? MySQL Workbench 테이블 편집기에는 PK, NN, UQ, BIN, UN, ZF, AI의 7 가지 열 플래그가 있습니다. PK는 분명히 Primary Key를 나타냅니다. 다른 사람은 어떻습니까? 해결 방법 PK-기본 키 NN-Null 아님 BIN-이진 (데이터를 이진 문자열로 저장합니다. 문자 집합이 없으므로 정렬 및 비교는 값에있는 바이트의 숫자 값을 기반으로합니다.) UN-부호 없음 (음수가 아닌 숫자 만 해당. 범위가 -500 ~ 500 인 경우 대신 0 ~ 1000 인 경우 범위는 동일하지만 0에서 시작) UQ-고유 키 생성 / 제거 ZF-0으로 채워짐 (길이가 INT (5)와 같이 5 인 경우 모든 필드는 5 번째 자리까지 0으로 채워집니다. 12 = 00012, 400 = 00400.. 2020. 11. 8.
MySQL 동일한 열 값을 가진 mysql 행을 하나의 행으로 그룹화하는 방법은 무엇입니까? 두 개의 테이블, 키워드 및 데이터가 있습니다. 테이블 키워드에는 2 개의 열 (id, keyword)이 있고 테이블 데이터에는 3 개의 열 (id [keyword.id의 외래 키], 이름, 값)이 있습니다. 이 쿼리를 사용하고 있습니다. SELECT k.id, d.value, d.name FROM keywords AS k INNER JOIN data as d ON k.id = d.id 다음과 같은 결과를 반환합니다. 1 123 name1 1 456 name2 2 943 name1 3 542 name1 3 532 name2 3 682 name3 각 ID는 0에서 3까지의 값을 가질 수 있습니다 (향후 더 많을 수 있음). 동일한 행에서 동일한 ID를 가진 모든 행을 검색하려면 어떻게해야합니까? 처럼 1 .. 2020. 11. 8.
MySQL 오류 1067 (42000) : 'created_at'에 대한 잘못된 기본값 테이블을 변경하려고 할 때 오류가 표시되었습니다. ERROR 1067 (42000): Invalid default value for 'created_at' 나는이 오류를 검색했지만 내가 찾은 것은 마치 타임 스탬프를 변경하려고 시도한 것 같아서 발생했습니다. 그러나 여기에 새 열을 추가하려고하는데이 오류가 발생합니다. mysql> ALTER TABLE investments ADD bank TEXT; ERROR 1067 (42000): Invalid default value for 'created_at' 내 테이블의 마지막 두 열은 created_at 및 updated_at 입니다. 내 테이블 구조는 다음과 같습니다. 해결 방법 문제는 sql_modes 때문입니다. 다음 명령으로 현재 sql_modes를 .. 2020. 11. 8.
MySQL WooCommerce : 데이터베이스에서 제품 찾기 WooCommerce를 사용하여 웹 사이트를 만들고 있는데, 사용자가 내 홈페이지의 검색 양식에 입력 한 우편 번호에 따라 사용 가능한 제품을 사용자에게 제한하고 싶습니다. 이를 달성하려면 phpMyAdmin의 데이터베이스 내에서 각 제품의 조건을 지정해야하지만 찾을 수없는 것 같습니다. 제품 및 / 또는 카테고리에 대한 woocommerce 데이터베이스가 phpmyAdmin 내에있는 위치를 아는 사람이 있습니까? 미리 감사드립니다. 해결 방법 2020 년 업데이트 제품은 주로 다음 표에 있습니다. product 와 같은 post_type (또는 product_variation ), 관계형 인덱스 (제품 ID)로 post_id 가있는 wp_postmeta 테이블. product_id 가 관계형 인덱스 (.. 2020. 11. 8.
MySQL 자동 완성을 위해 PHP와 MYSQL의 회사 이름을 모호하게 일치시키는 방법은 무엇입니까? 내 사용자는 회사 이름을 포함 할 큰 문자열을 잘라내어 붙여 넣습니다. 각각 고유 한 company_id를 가진 회사 이름의 기존 및 성장하는 MYSQL 데이터베이스가 있습니다. 문자열을 구문 분석하고 사용자가 입력 한 각 회사 이름에 퍼지 일치를 할당 할 수 있기를 원합니다. 지금 당장은 똑바로 문자열 일치를하는 것 또한 느립니다. ** Soundex 인덱싱이 더 빨라 집니까? 사용자가 입력 할 때 몇 가지 옵션을 제공하려면 어떻게해야합니까? ** 예를 들어 누군가 다음과 같이 씁니다. 이 질문과 비슷한 다음 스레드를 찾았지만 포스터가 승인되지 않았으며 해당 사용 사례가 적용 가능한지 확실하지 않습니다. 해결 방법 SOUNDEX () 의 단점은 다음과 같습니다. 예: SELECT SOUNDEX('Mic.. 2020. 11. 7.
MySQL PHPUnit을 사용한 데이터베이스 테스트 모범 사례 특히 MySQL 에서 PHPUnit 로 데이터베이스를 테스트하는 모범 사례는 무엇입니까? 해결 방법 PHPUnit으로 데이터베이스 테스트를 수행 할 때 모든 테스트에서 사실이라고 가정하는 정보가 포함 된 첫 번째 제품군의 시작 부분에 MySQL 덤프를로드합니다. 각 테스트가 시작될 때 setupDatabase 메서드를 사용합니다. 이 메서드는 내가 변경 한 테이블에서 모든 행을 삭제 한 다음 true로 유지해야하는 데이터가 포함 된 플랫 XML 데이터 세트를로드합니다. 이 작업이 끝나면 테스트중인 코드를 실행합니다. 마지막으로, 간단한 메서드 모음을 사용하여 데이터베이스에서 행을 선택하여 변경 사항이 올바르게 수행되었는지 확인합니다. 이것이 모범 사례라고 말하지는 않지만 저에게는 꽤 잘 작동했습니다. 내.. 2020. 11. 7.
MySQL 134217728 바이트의 허용 된 메모리 크기 소진 (42 바이트 할당 시도) 분명히 많은 메모리를 차지하는 쿼리 당 0.2m 이상의 행을 반환하는 mysql 테이블에서 레코드를 검색하고 있습니다. 제 경우에는 SSD 256GB로 시스템에 RAM이 8GB 설치되어 있습니다. 내 페이지를 실행하면 다음 오류가 반환됩니다. Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 42 bytes) in D:\xampp\htdocs\classes\CRUD.php on line 84 테이블 행에 PHP 루프 대신 스레딩을 사용해야한다고 생각합니까? 내가 틀렸을 수도 있습니다. 모든 제안 / 도움을 주시면 감사하겠습니다. 해결 방법 기본 php.ini memory_limit는 128MB입니다. 다음 중 .. 2020. 11. 7.
MySQL PHP MySQL에서 jQuery AJAX를 사용하여 다시로드하지 않고 양식 제출 PHP를 사용하여 SQL 데이터베이스에 데이터를 제출하는 기본 가입 / 로그인 페이지가 있습니다. 그러나 jQuery AJAX의 도움으로 (성공 여부에 관계없이) 제출시 페이지를 리디렉션하지 않기를 바랍니다. 이것은 내가 현재 가지고 있으며 작동하지 않습니다. 오류 메시지는 표시되지 않습니다. HTML-signup.html 자바 스크립트-signup.js function submit() { $("form").submit(function(e) { e.preventDefault(); $.ajax({ type: 'POST', url: 'signup.php', data: $('form').serialize(), success: function() { console.log("Signup was successful.. 2020. 11. 7.
MySQL 여러 행을 공백으로 구분 된 하나의 문자열로 결합 그래서 이렇게 5 개의 행이 있습니다 userid, col -------------- 1, a 1, b 2, c 2, d 3, e 다음과 같이 보이도록 어떻게 쿼리합니까? userid, combined 1, a b 2, c d 3, e 해결 방법 SELECT yt.userid, GROUP_CONCAT(yt.col SEPARATOR ' ') AS combined FROM YOUR_TABLE yt GROUP BY yt.userid 기본 구분 기호는 쉼표 ( ",")이므로 원하는 출력을 얻으려면 단일 공백의 SEPARATOR를 지정해야합니다. GROUP_CONCAT에서 값의 순서를 확인하려면 다음을 사용하십시오. SELECT yt.userid, GROUP_CONCAT(yt.col ORDER BY yt.col .. 2020. 11. 7.
MySQL mysql 5.6에 ANY_VALUE 기능이 있습니까? 현재 개발 중에는 mysql 5.7, 프로덕션에서는 5.6으로 작업 중입니다. 개발중인 그룹으로 쿼리를 실행할 때마다 "오류 코드 : 1055. SELECT 목록의 표현식 # 1이 GROUP BY에 없습니다"와 같은 오류가 발생합니다. 다음은 쿼리입니다. SELECT c.id, c.name, i.* FROM countries c, images i WHERE i.country_id = c.id GROUP BY c.id; Fixed for 5.7; SELECT c.id, c.name, ANY_VALUE(i.url) url, ANY_VALUE(i.lat) lat, ANY_VALUE(i.lng) lng FROM countries c, images i WHERE i.country_id = c.id GROUP BY.. 2020. 11. 7.