본문 바로가기

db2314

MySQL 테이블 행 수를 얻는 가장 효율적인 방법 현재 6 백만 개가 넘는 행이있는 데이터베이스가 있고 증가하고 있습니다. 나는 현재 SELECT COUNT (id) FROM table을 수행합니다. 내 사용자에게 숫자를 표시하기 위해 데이터베이스가 커지고 있으며 숫자를 표시 할 수있는 것 외에는 모든 행을 저장할 필요가 없습니다. 표시 할 auto_increment 값을 선택하여 데이터베이스에서 대부분의 행을 지울 수있는 방법이 있습니까? LAST_INSERT_ID () 사용이 작동하지 않는 것 같습니다. 해결 방법 레코드 (행) 수를 얻는 것에 관한 것이라면 다음을 사용하는 것이 좋습니다. SELECT TABLE_ROWS FROM information_schema.tables WHERE table_name='the_table_you_want' -- .. 2020. 9. 20.
MySQL Change MySql Case sensitivity with phpMyAdmin? Blogengine.Net을 실행 중이며 테이블이 모두 소문자로 작성되었지만 (테이블 이름 be_settings) 많은 쿼리가 대소 문자를 혼합하여 작성된다는 사실을 확인했습니다 (be_Settings에서 * 선택). MySql 인스턴스가 Windows에서 실행 중이거나 Windows에서 기능하도록 설정된 경우 제대로 작동합니다. 호스팅 공급자 MySql 인스턴스가 대소 문자를 구분하기 때문에 오류가 발생합니다. phpMyAdmin을 통해이 오류를 수정하기 위해 변경할 수있는 설정이 있습니까? 모든 코드를 살펴보고 필요하지 않은 경우 BlogEngine.Net을 수정하고 싶지 않습니다. 해결 방법 BlogEngine.Net에 대해이 문제를 해결하려는 경우 BlogEngine.Net의 모든 쿼리가 Came.. 2020. 9. 20.
MySQL 여러 행을 반환하는 SELECT 하위 쿼리를 사용하여 테이블에 삽입하는 방법은 무엇입니까? MySQL 여러 행을 반환하는 SELECT 하위 쿼리를 사용하여 테이블에 삽입하는 방법은 무엇입니까? INSERT INTO Results ( People, names, ) VALUES ( ( SELECT d.id FROM Names f JOIN People d ON d.id = f.id ), ( "Henry" ), ); 이 하위 쿼리에서 반환되는 모든 결과로 새 테이블을 채우고 싶습니다. 원합니다 . 오류 1242 (21000) : 하위 쿼리가 행을 두 개 이상 반환 없이 어떻게 수행합니까? 해결 방법 INSERT INTO Results (People, names ) SELECT d.id, 'Henry' FROM Names f JOIN People d ON d.id = f.id 정적 문자열 Henry 를.. 2020. 9. 20.
MySQL 쿼리의 WHERE 절에서 열 별칭을 사용하면 오류가 발생합니다. 실행중인 쿼리는 다음과 같지만이 오류가 발생합니다. # 1054- 'IN / ALL / ANY subquery'의 알 수없는 열 'guaranteed_postcode' SELECT `users`.`first_name`, `users`.`last_name`, `users`.`email`, SUBSTRING(`locations`.`raw`,-6,4) AS `guaranteed_postcode` FROM `users` LEFT OUTER JOIN `locations` ON `users`.`id` = `locations`.`user_id` WHERE `guaranteed_postcode` NOT IN #this is where the fake col is being used ( SELECT `postcode` .. 2020. 9. 20.
MySQL 라이브 데이터베이스에서 mysqldump 실행 라이브 데이터베이스에서 mysqldump를 실행할 때 어떤 위험이 있는지 알고 싶습니까? 데이터베이스가 손상 될 가능성이 있습니까? mysqldump는 전체 데이터베이스를 잠그는 것 같습니다. 해결 방법 데이터베이스 테이블은 어떤 엔진을 사용합니까? 트랜잭션 테이블을 사용하는 경우 일관된 상태로 테이블을 덤프하는 "단일 트랜잭션"옵션을 사용하여 덤프 할 수 있습니다. 트랜잭션이 아닌 MyISAM과 같은 테이블을 사용하는 경우 DB 손상 문제가 없어야합니다. 그러나 레이스 시나리오에 들어가면 일관되지 않은 데이터 문제가 발생할 수 있습니다. 두 경우 모두 덤프가 발생하는 동안 DB 응답 시간이 크게 느려지 게됩니다. 가장 좋은 방법은 덤프를 슬레이브에 대해 실행하거나 덤프를 실행하기 전에 사이트가 정지 될.. 2020. 9. 20.
MySQL Current_timestamp-> PHP 날짜 () current_timestamp를 기록하는 "timestamp"라는 레이블이 붙은 데이터베이스에 필드가 있습니다. current_timestamp (YYYY-MM-DD HH : MM : SS)를 좀 더 읽기 쉬운 것으로 표시하려면 어떤 PHP 코드를 작성해야합니까? (예 : 2012 년 4 월 30 일 오후 3:45) 해결 방법 $dateTimeVariable = date("F j, Y \a\t g:ia"); 이것은 현재 시간의 형식을 제공 할 것입니다 (당신이 얻고있는 것처럼 보였습니다). 참조 페이지 https://stackoverflow.com/questions/9437438 2020. 9. 20.
MySQL Sort By 2 Columns TV 프로그램에 대한 정보를 담은 테이블이 있는데 시즌별로 주문한 다음 에피소드별로 주문하고 싶습니다. 내가 가진 것에 대한 기본보기는 다음과 같습니다. +---+--------+---------+ |id | Season | Episode | +---+--------+---------+ | 1 | 1 | 1 | +---+--------+---------+ | 1 | 1 | 2 | +---+--------+---------+ | 1 | 2 | 1 | +---+--------+---------+ | 1 | 2 | 3 | +---+--------+---------+ 그래서 제가 필요한 것을 선택하고 시즌별로 주문합니다. 그러나 시즌 사이에 많은 것이있을 것이므로 에피소드도 정렬해야하지만 시즌에 영향을주지 않습.. 2020. 9. 20.
MySQL SQLiteDatabase-where 절을 사용하는 방법? public Cursor fetchTimetable() { return mDb.query(DATABASE_TABLE_TIMETABLE, new String[] {TIMETABLE_ROWID, TIMETABLE_MODULECODE, TIMETABLE_MODULENAME, TIMETABLE_ROOM, TIMETABLE_LECTURER, TIMETABLE_TIME}, null, null, null, null, null); } 예를 들어 TIMETABLE_MODULECODE = 123을 원하면 어떻게해야합니까? 첫 번째 null을 읽었습니다. 아래에서 시도했지만 여전히 작동하지 않습니다. public Cursor fetchTimetable() { String a = "TIMETABLE_CODE = ADD"; r.. 2020. 9. 20.
MySQL 덤프에서 DEFINER 절 제거 내 데이터베이스 중 하나의 MySQL 덤프가 있습니다. 그 안에는 다음과 같은 DEFINER 절이 있습니다. "DEFINER=`root`@`localhost`" 즉, 이러한 DEFINER 절은 내 CREATE VIEW 및 CREATE PROCEDURE 문에 있습니다. 내 덤프 파일에서 이러한 DEFINER 절을 제거하는 방법이 있습니까? 해결 방법 덤프에 DEFINER 를 추가하는 것을 무시하는 방법이 없다고 생각합니다. 그러나 덤프 파일이 생성 된 후 제거하는 방법이 있습니다. 텍스트 편집기에서 덤프 파일을 열고 DEFINER = root @ localhost 의 모든 항목을 빈 문자열 "" 로 바꿉니다. perl -p -i.bak -e "s/DEFINER=\`\w.*\`@\`\d[0-3].*[0-3].. 2020. 9. 20.
MySQL PHP select the biggest `id` value from MySQL table 300,000 개 이상의 행이있는 테이블이 있고 'id'열에 대해 가장 높은 값을 선택해야합니다. 일반적으로 다음과 같이합니다. SELECT id FROM my_table ORDER BY id DESC ...하지만 이로 인해 쿼리 속도가 느려지므로 사용하고 싶지 않습니다. 이 상황을 해결하는 다른 방법이 있습니까? id 는 자동 증가 및 기본 키입니다. 나중에 수정 : 귀하의 의견에서 제외되었으므로 내 전체 코드가 상당히 잘못 작성된 것 같습니다. 아래에 내가 작업중인 코드 샘플과 테이블을 게시했습니다. table_x의 마지막 ID + 1을 두 테이블 (table_x 자체 포함)에 삽입하는 적절한 방법을 제안 할 수 있습니까? 스크립트가 두 번 이상 실행될 것임을 언급해야합니다. TABLE_X TABLE.. 2020. 9. 19.