반응형

MySQL 57

텍스트 열을 고유 키로 만들기

텍스트 열을 고유 키로 만들기 나는 테이블을 만들고 싶습니다.MySQL서버에 접속mediumtext란에UNIQUE KEY CREATE TABLE `parts` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` mediumtext NOT NULL, `display_status` int(11) NOT NULL, UNIQUE KEY `name` (`name`), PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8; 그러나 이것은 실수를 했습니다. BLOB/TEXT column 'name' used in key specification without a key length "이름"의 유형을 varchar로 변경할 때..효과가 있어..

IT 2023.10.30

mysql에서 방금 삭제된 행을 복구하는 방법?

mysql에서 방금 삭제된 행을 복구하는 방법? 실수로 모든 데이터를 삭제한 경우 데이터를 사용하여 테이블을 마지막으로 복원할 수 있습니까?서버에서 바이너리 로그가 활성화되어 있다면 사용할 수 있는 다른 해결책이 있습니다.mysqlbinlog sql 파일을 생성합니다. mysqlbinlog binary_log_file > query_log.sql 그런 다음 누락된 행을 검색합니다.활성화되지 않으면 다른 해결책이 없습니다.다음 번에 백업합니다.약간.phpMyAdmin을 사용하여 한 행을 너무 많이 삭제했습니다.하지만 저는 진행하기 전에 그것을 잡았고 삭제 확인 메시지의 대부분의 데이터를 가지고 있었습니다.저는 기록을 다시 세울 수 있었습니다.하지만 확인 메시지는 문자 댓글의 일부를 잘라냈습니다. 저보다 p..

IT 2023.10.30

MySQL 인덱싱 및 파일 정렬 사용

MySQL 인덱싱 및 파일 정렬 사용 이것은 나의 마지막 문제와 관련이 있습니다.목록 테이블에 두 개의 열을 새로 만들었습니다. 하나는 구성된 보기를 위한 것입니다.views_point(100번의 보기마다 increment) 및 날짜에 게시하기 위한 것publishedon_hourly몇 가지 고유한 값을 만듭니다. 이것이 제 새 테이블입니다. CREATE TABLE IF NOT EXISTS `listings` ( `id` int(10) unsigned NOT NULL AUTO_INCREMENT, `type` tinyint(1) NOT NULL DEFAULT '1', `hash` char(32) NOT NULL, `source_id` int(10) unsigned NOT NULL, `link` varcha..

IT 2023.10.25

MySQL - 표의 id 필드에 상대가 없는 숫자 목록에서 선택

MySQL - 표의 id 필드에 상대가 없는 숫자 목록에서 선택 숫자 목록이 있어요, 예를 들어 {2,4,5,6,7} 테이블, 푸스, 푸스가 있어요.{1,2,3,4,8,9}과 같은 ID 제 번호 목록을 가져가서 제 표의 ID 필드에서 상대방이 없는 번호를 찾고 싶습니다. 이를 달성하기 위한 한 가지 방법은 ID 필드에 {2,4,5,6,7}이(가) 로드된 테이블 막대를 만드는 것입니다.그러면 저는. 막대를 선택합니다.* 막대 왼쪽에서 막대에 결합 푸스를 연결합니다.= 똥.똥 싸는 곳.ID가 NULL입니다. 하지만 저는 이 산스 템프 테이블을 달성하고 싶습니다. 그것이 어떻게 일어날지에 대한 의견이 있는 사람?이 문제는 매우 일반적인 문제입니다. 표를 만들지 않고 바로 관계를 생성하는 것입니다.이 문제에 대..

IT 2023.10.20

MySQL UPDATE 데이터를 열에 추가

MySQL UPDATE 데이터를 열에 추가 테이블 이름을 업데이트해야 합니다(col1 name). 이미 데이터가 있으면 'a,b,c' 값을 추가해야 합니다. NULL이면 'a,b,c' 값을 추가해야 합니다. CONCAT 논법이 있다는 것은 알고 있지만 SQL 구문이 무엇인지는 확실하지 않습니다. update tablename set col1name = concat(ifnull(col1name, 'a,b,c'), 'a,b,c') 위의 내용이 맞습니까?다음 쿼리 시도: update tablename set col1name = concat(ifnull(col1name,""), 'a,b,c'); 이 sql fiddle 데모를 참조하십시오.이렇게 하면 됩니다. update tablename set col1name..

IT 2023.10.15

MySQL: ALTER 무시 테이블 고유 추가, 무엇이 잘릴까요?

MySQL: ALTER 무시 테이블 고유 추가, 무엇이 잘릴까요? 저는 ID, 유형, 소유자, 설명의 4열로 된 표를 가지고 있습니다.ID는 AUTO_Increment Primary KEY이며, 이제 다음을 수행하고자 합니다. ALTER IGNORE TABLE `my_table` ADD UNIQUE (`type`, `owner`); 물론 저는 ='Apple'과 owner ='Apple CO' 유형의 기록이 거의 없습니다.그래서 제 질문은 그 ALTER TABLE 이후에 어떤 특별한 기록을 남길 것인가요, ID가 가장 작은 것과 가장 최근에 삽입된 것 중 어떤 기록을 남길 것인가요?첫 번째 레코드는 유지되고, 나머지 레코드는 §§ 삭제됩니다. IGNORE는 표준 SQL에 대한 MySQL 확장입니다.새 테이..

IT 2023.10.10

MySQL에서 LIMIT 1 사용

MySQL에서 LIMIT 1 사용 MySQL에서 쿼리 끝에 LIMIT 1을 추가하는 것이 적절한 시기는 언제입니까?보통 DELETE에 추가하는데 INSERT a와 UPDATE까지 같이 사용하는 것을 보았습니다.오버킬인가요 아니면 좋은 연습인가요? INSERT INTO .. VALUES () LIMIT 1 존재하지 않습니다.여러분이 거기에 얼마나 많은 가치를 넣었는지 알기를 바랍니다! INSERT INTO .. SELECT ... LIMIT 1 LIMIT가 SELECT에 있기 때문에 존재하고 상당히 유용하며 주제에서 벗어납니다. DELETE ... LIMIT 1 UPDATE ... LIMIT 1 극히 드물게 유용합니다.사용자의 위치가 고유 조건과 일치하는지 확인할 수 있을 정도로 데이터베이스를 잘 알고 있..

IT 2023.10.10

MySQL 데이터베이스의 모든 테이블의 AUTO_INCREMINT 값 업데이트

MySQL 데이터베이스의 모든 테이블의 AUTO_INCREMINT 값 업데이트 /합니다를 할 수 .AUTO_INCREMENT해 MySQL을 통한 의 값 ALTER TABLE some_table AUTO_INCREMENT = 1000 하지만 나는 그것을 설정할 필요가 있습니다.AUTO_INCREMENT( 복제 M-M ) 합니다. ALTER TABLE some_table SET AUTO_INCREMENT = AUTO_INCREMENT + 1하지 않는 사실 데이터베이스 내의 모든 테이블에 대해 이 쿼리를 실행하고 싶습니다.하지만 사실 이것은 그다지 중요하지 않습니다. 수동으로 쿼리를 실행하는 것 외에는 이 문제를 해결할 방법을 찾을 수 없었습니다.제안해 주시거나 몇 가지 아이디어를 말씀해 주시겠습니까? 감사해..

IT 2023.10.05

MySQL 성능: 가입 대 WHERE

MySQL 성능: 가입 대 WHERE 이 질문에는 이미 다음과 같은 답변이 있습니다. 닫힘12년 전에. 가능한 중복: MySQL: 내부 조인 vs Where 명시적 SQL 조인과 암묵적 SQL 조인 "JOIN ON"과 "WHERE" 절을 사용하여 조인 쿼리를 실행할 때 성능 면에서 차이가 있습니까?(테이블 수 또는 테이블의 항목 수에 관계없이) 이 주제에 대해 이미 논의가 끝났는지 확실하지 않습니다.그렇더라도 최신 버전의 mySQL(5.1 이상)로 상황이 바뀌었는지 알고 싶습니다. 설명문은 고려할 행 수에 많은 차이가 있음을 명확하게 보여줍니다. 사용 중인 구문은 다음과 같습니다. JOIN ON 사용하기 SELECT FROM JOIN ON AND JOIN ON AND JOIN ON .... WHERE 사..

IT 2023.10.05

COUNT(*)는 항상 결과를 반환합니까?

COUNT(*)는 항상 결과를 반환합니까? 다음과 같은 쿼리를 실행하는 경우: SELECT COUNT(*) as num FROM table WHERE x = 'y' 쿼리가 어떤 레코드와도 일치하지 않을 때에도 항상 결과를 반환합니까?아니면 그 결과 행이 반환되는지 확인하고 검증해야 합니까?네, 집계이기 때문에 0을 반환합니다.그룹이 없기 때문에 결과가 없는 경우에 GROUP BY를 추가하지 않는 한... MAX/SUM 등은 행이 없을 때까지 GROUP을 추가하지 않는 한 NULL을 반환합니다.COUNT만 결과가 없을 때 숫자를 반환합니다. 편집, 조금 늦었습니다. SUM이 MAX와 같이 NULL을 반환합니다. Edit, 2013년 5월 : 모든 메인 RDBMS에 적용됩니다. ANSI 기준에 따른 것으로 ..

IT 2023.10.05
반응형