반응형

MySQL 8

레일에서 기본 키로 테이블 및 문제 만들기

레일에서 기본 키로 테이블 및 문제 만들기 Mysql2를 데이터베이스 관리자로 사용하여 Rails에서 다음 코드를 실행하려고 할 때: rake db:migrate 다음 오류가 발생합니다. rake aborted! "Mysql2::Error: All parts of a PRIMARY KEY must be NOT NULL:" 테이블의 기본 키가 기본적으로 "null"이 아닌 경우 이 오류가 발생하는 이유는 무엇입니까? 그러나 마이그레이션 코드: class CreateUsers < ActiveRecord::Migration def change create_table :users do |t| t.string "first_name" t.timestamps end end end 이전에도 같은 문제가 있었는데 여기 ..

programing 2023.09.13

MySQL 쿼리, MAX() + GROUP BY

MySQL 쿼리, MAX() + GROUP BY Daft SQL 질문입니다.저는 그런 테이블이 있습니다. ('pid'는 auto-increment primary col) CREATE TABLE theTable ( `pid` INT UNSIGNED PRIMARY KEY AUTO_INCREMENT, `timestamp` TIMESTAMP DEFAULT CURRENT_TIMESTAMP, `cost` INT UNSIGNED NOT NULL, `rid` INT NOT NULL, ) Engine=InnoDB; 실제 테이블 데이터: INSERT INTO theTable (`pid`, `timestamp`, `cost`, `rid`) VALUES (1, '2011-04-14 01:05:07', 1122, 1), (2,..

programing 2023.09.13

MySQL은 그룹 다음에 null이 아닌 첫 번째 값을 가져옵니다.

MySQL은 그룹 다음에 null이 아닌 첫 번째 값을 가져옵니다. 고유하지는 않지만 필요한 데이터가 있는 큰 테이블이 있습니다.이 표는 여러 개의 조합을 선택한 결과이므로 실제 표가 아닙니다.다른 이유로 실제 테이블로 만들 수 없습니다. UNION의 모든 테이블에는 결국 고유한 이메일 열이 있습니다.결과 레코드는 다음과 같습니다. 1 ozzy@test.com Ozzy 2 test@test.com Tony 3 test@yahoo.com Steve 4 tiny@test.com 13 tony@gmail.com Tony 14 test@test.com Ozzy 15 test@yahoo.com Dave 16 tiny@test.com Tim 보다시피 일부 전자 메일은 이름이 다르거나 존재하지 않는 이름으로 한 번 ..

programing 2023.09.08

MySQL 클라이언트에 대한 자동 커밋을 해제하려면 어떻게 해야 합니까?

MySQL 클라이언트에 대한 자동 커밋을 해제하려면 어떻게 해야 합니까? 저는 데이터베이스에 자동 커밋이 켜져 있다는 가정하에 작성된 웹 앱이 있어서 거기서 변경하고 싶지 않습니다.그러나 내가 찾을 수 있는 모든 문서는 데이터베이스에서 init_connect를 사용하는 것, 즉 모든 클라이언트 연결에 대한 글로벌 설정에 대해 이야기하는 것처럼 보입니다. Linux 명령줄에서 mysql을 실행할 때(매번 입력할 필요 없이) autocommit=0을 설정할 수 있는 방법이 있습니까?가장 좋은 방법은 mysql 명령줄 클라이언트를 시작한 다음 원하는 sql을 자동으로 실행한 후 제어권을 사용자에게 넘겨주는 스크립트를 작성하는 것입니다. 는 'lex'라는 응용 됩니다. 스트로크를 작용합니다.할 수 .passwo..

programing 2023.09.08

sql 읽기 전용 모드에서 연결 열기

sql 읽기 전용 모드에서 연결 열기 사용자가 MySQL 데이터베이스에 대한 전체 읽기/쓰기 권한을 가지고 있다고 가정합니다.읽기 전용 모드에서 동일한 사용자 이름과 암호로 데이터베이스에 연결할 수 있는 방법(연결 문자열의 일부 매개 변수)이 있습니까? 동일한 사용자가 다른 때에도 쓰기 권한을 요구할 수 있으므로 이 사용자의 권한을 변경하지 않고 이 옵션을 사용합니다.이것은 데이터베이스가 실수로 수정되는 것을 방지하는 데 유용합니다(가능한 경우).당신의 질문에 대한 대답은 아니요, 연결 문자열에 읽기 전용 액세스를 지정할 수 없습니다. 대안은 다음과 같습니다. 읽기 권한이 있는 sql 사용자 생성 MVC3 읽기 전용 MySql 연결 문자열 권한 검사 로직이 포함된 뷰 또는 저장 프로시저 만들기 MS SQ..

programing 2023.08.29

utf8_bin vs. utf_bin_ci

utf8_bin vs. utf_bin_ci 내 테이블 웹 사이트 Website_Name//column name Google Facebook Twitter Orkut Frype Skype Yahoo Wikipedia 저는 utf8_bin colation을 사용합니다. 그러면 웹사이트에서 위키백과를 검색하기 위한 제 질문은 다음과 같습니다. Select Website_Name from Website where lower(Website_Name)='wikipedia' 그리고 만약 내가 utf8_unicode_ci를 사용한다면, 웹사이트에서 위키백과를 검색하기 위한 나의 선택 질의는 다음과 같습니다. Select Website_Name from Website where Website_Name='wikipedia..

programing 2023.07.30

MySQL로 대용량 결과 세트 스트리밍

MySQL로 대용량 결과 세트 스트리밍 저는 큰 MySQL 테이블을 사용하는 스프링 애플리케이션을 개발하고 있습니다.큰 테이블을 로드할 때, 나는 다음과 같은 메시지를 받습니다.OutOfMemoryException드라이버가 전체 테이블을 응용 프로그램 메모리에 로드하려고 하기 때문입니다. 사용해 보았습니다. statement.setFetchSize(Integer.MIN_VALUE); 제가 여는 가▁on▁but다에 걸려 있습니다.close()온라인에서 결과 집합을 닫기 전에 읽지 않은 행을 로드하려고 하기 때문에 이러한 현상이 발생한다는 것을 발견했지만, 다음과 같이 하기 때문에 그렇지 않습니다. ResultSet existingRecords = getTableData(tablename); try { wh..

programing 2023.07.30

Dunction2에서 SQL의 YEAR(), MONTH() 및 DAY()를 어떻게 사용할 수 있습니까?

Dunction2에서 SQL의 YEAR(), MONTH() 및 DAY()를 어떻게 사용할 수 있습니까? 네이티브 SQL에서 다음과 같은 쿼리를 수행하려고 합니다. SELECT AVG(t.column) AS average_value FROM table t WHERE YEAR(t.timestamp) = 2013 AND MONTH(t.timestamp) = 09 AND DAY(t.timestamp) = 16 AND t.somethingelse LIKE 'somethingelse' GROUP BY t.somethingelse; 만약 내가 이것을 Dutrin의 쿼리 작성기에서 다음과 같이 구현하려고 한다면: $qb = $this->getDoctrine()->createQueryBuilder(); $qb->sele..

programing 2023.07.25
반응형