반응형

MySQL 20

채팅용 DB 스키마?

채팅용 DB 스키마? 채팅 대화를 데이터베이스 스키마에 저장해야 합니다.제가 이 데이터베이스를 사용하는 방법은 웹사이트에 채팅을 올리는 것입니다.각 채팅은 약 20개의 응답을 초과하지 않습니다.누가 이것에 대한 스키마를 제안해 줄 수 있습니까?다음은 MySQL Workbench 사용 시작입니다. 생성 스크립트 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0; SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0; SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='TRADITIONAL'; CREATE SCHEMA IF NOT EXISTS `chats` DEFAU..

programing 2023.09.04

MySQL에서 빈 문자열 삽입을 금지하는 제약 조건

MySQL에서 빈 문자열 삽입을 금지하는 제약 조건 이 질문에서는 NULL 값의 삽입을 방지하는 방법을 배웠습니다.하지만 안타깝게도 빈 문자열이 삽입되고 있습니다.PHP 측에서 이를 방지하는 것 외에도 데이터베이스 제약과 같은 것을 사용하여 이를 방지하고 싶습니다.물론 지원서 쪽의 확인이 필요하지만, 양쪽 모두로 해주셨으면 합니다. 저는 어떤 애플리케이션이 여러분의 데이터베이스와 통신하든 기본적으로 잘못된 데이터를 삽입할 수 없어야 한다고 배웠습니다.그래서... CREATE TABLE IF NOT EXISTS tblFoo ( foo_id int(11) NOT NULL AUTO_INCREMENT, foo_test varchar(50) NOT NULL, PRIMARY KEY (foo_id) ); 여전히 이 ..

programing 2023.09.04

Java에서 SQL UPDATE 문의 영향을 받는 행 수를 반환합니다.

Java에서 SQL UPDATE 문의 영향을 받는 행 수를 반환합니다. 저는 MySQL 데이터베이스를 사용하고 있으며 Java를 통해 액세스하고 있습니다. PreparedStatement prep1 = this.connection.prepareStatement( "UPDATE user_table SET Level = 'Super' WHERE Username = ?"); prep1.setString(1, username); 위의 업데이트 문은 정상적으로 작동하지만 이 문에 영향을 받는 행 수를 알고 싶습니다.이것이 가능합니까?Statement.executeUpdate()또는execute()다음에getUpdateCount()JDBC 사양에 따라 업데이트되지 않고 일치하는 행 수를 반환합니다.업데이트된 카운트..

programing 2023.08.30

SQL LIMIT 및 OFFSET 쿼리를 사용하여 모든 레코드 선택

SQL LIMIT 및 OFFSET 쿼리를 사용하여 모든 레코드 선택 다음을 달성할 수 있는 방법이 있는지 궁금합니다. SELECT * FROM table 을 이용하여LIMIT그리고.OFFSET 예: SELECT * FROM table LIMIT all OFFSET 0 LIMIT와 OFFSET을 사용하여 SQL 문을 작성할 수 있지만 모든 결과를 얻을 수 있습니까? 물론 나는 진술서를 사용할 수 있지만 가능하면 오히려 피합니다. MySQL 문서에서 다음을 수행합니다. 특정 오프셋에서 결과 세트의 끝까지 모든 행을 검색하려면 두 번째 파라미터에 큰 숫자를 사용할 수 있습니다.이 문은 96번째 행에서 마지막 행까지 모든 행을 검색합니다. 선택 * tbl 제한 95,18446744073709551615; 따라서..

programing 2023.08.30

중복 항목 확인 vs PDO errorInfo 결과 사용

중복 항목 확인 vs PDO errorInfo 결과 사용 고유한 것으로 정의된 전자 메일 주소 필드가 있는 MySQL 테이블이 있습니다.이 예에서는 사용자가 표에 전자 메일 주소를 삽입할 수 있도록 허용하는 것이 양식의 전부라고 가정해 보겠습니다. 전자 메일 필드는 고유하므로 동일한 전자 메일을 두 번 입력하려고 하면 쿼리가 실패합니다.두 시나리오 간의 절충점이 궁금합니다. 실행 빨리달SELECT문을 열 수 있습니다.를 반환할 경우 , INSERT진술. 을 합니다.INSERT 중복된 항목 하기 ", "는 "입니다. // snippet uses PDO if (!$prep->execute($values)) { $err = $prep->errorInfo(); if (isset($err[1])) { // 106..

programing 2023.08.25

테이블을 올바르게 자를 수 있는 방법은 무엇입니까?

테이블을 올바르게 자를 수 있는 방법은 무엇입니까? 루비가 있는 데이터매퍼를 사용하여 특정 테이블에 데이터를 저장하고 있습니다. 일부 표에는 매우 많은 양의 정보가 포함되어 있으며, 사용자가 '데이터베이스 재구성'을 수행할 때 삭제하고 싶습니다(기본적으로 모든 정보를 삭제하고 데이터를 다시 계산함). 나는 원래 Forum.all.destroy를 시도했고 다른 모든 테이블에 대해 그것을 했지만, 나는 그것들 중 일부가 phpmyadmin 내에서 삭제되지 않았다는 것을 알아차렸습니다.저는 외국 열쇠 때문이라는 것만 상상할 수 있습니다.비록 내 다른 테이블의 포어링 키가 성공적으로 삭제되었기 때문에 나는 정말 모릅니다.말할 것도 없이, 키가 비정상적으로 큰 숫자(예: 키 #500,000)에 도달하지 않도록 그..

programing 2023.08.10

MySQL에서 외부 키를 삭제할 수 없음

MySQL에서 외부 키를 삭제할 수 없음 저는 코스와 강사 사이에 1대 1로 많은 관계를 맺었는데, 그 관계를 끊고 싶었습니다.제가 선생님을 떨어뜨리려고 했을 때코스 테이블에 있는 아이디는 그것이 나에게 말했습니다.외국 열쇠라서 떨어뜨릴 수가 없었어요.그리고 나서 저는 다음과 같이 하기로 결정했습니다. ALTER TABLE course DROP FOREIGN KEY instructorID 하지만 다음 오류가 발생했습니다. #1091 - Can't DROP 'InstructorID'; check that column/key exists 저는 이 오류가 무엇을 의미하는지 이해하지 못합니다.내가 무엇을 잘못하고 있습니까?실행하십시오.SHOW CREATE TABLE course;확실한 강사가 되기 위해ID는 외..

programing 2023.08.05

SQL 또는 MySQL에서 JOIN 키워드를 사용하지 않는 조인에 문제가 있습니까?

SQL 또는 MySQL에서 JOIN 키워드를 사용하지 않는 조인에 문제가 있습니까? 데이터베이스 쿼리를 작성하기 시작할 때는 JOIN 키워드를 아직 몰랐고 자연스럽게 이미 알고 있는 것을 확장하고 다음과 같은 쿼리를 작성했습니다. SELECT a.someRow, b.someRow FROM tableA AS a, tableB AS b WHERE a.ID=b.ID AND b.ID= $someVar 이제 이것이 내부 조인과 동일하다는 것을 알았으므로 코드에서 이러한 모든 쿼리를 찾아 다시 작성해야 하는지 자문합니다.그들에게 뭔가 냄새나는 것이 있나요, 아니면 그냥 괜찮은 건가요? 내 답변 요약:이 쿼리에는 아무런 문제가 없지만 키워드를 사용하면 코드를 보다 쉽게 읽을 수/유지 관리할 수 있습니다. 내 결론은:..

programing 2023.07.26

SQL UPDATE에서 str_replace?

SQL UPDATE에서 str_replace? 다음은 샘플 표입니다. name | picture John S. | http://servera.host.com/johns.png Linda B. | http://servera.host.com/lindab.png ... 수백 개의 기록이 더 있다고 치자. 또한 서버를 "servera"에서 "serverb"로 이동했다고 가정해 보겠습니다. 모든 레코드가 올바른 서버 이름을 읽을 수 있도록 "그림" 열에 있는 내용의 이름을 바꾸기 위해 쿼리 하나로 이 테이블에 들어갈 수 있습니까?T-SQL: update TBL set picture = Replace(picture, 'servera', 'serverb') where picture like '%servera%' 오라..

programing 2023.07.26

인덱스를 먼저 삭제하지 않고 MySQL 열을 삭제하면 어떻게 됩니까?

인덱스를 먼저 삭제하지 않고 MySQL 열을 삭제하면 어떻게 됩니까? MySQL 테이블 중 하나에서 열 col1을 삭제한 후 해당 열을 포함하는 고유 인덱스(col0, col1, col2, col3)에서 삭제했습니다. MySQL에서 자동으로 처리됩니까?col1 열을 삭제한 후 이전에 (col0, col1, col2, col3) 고유 인덱스가 (col0, col2, col3)로 자동 변경된 것 같습니다. 문제가 될까요, 아니면 고유 인덱스를 삭제하고 (col0, col2, col3)로 다시 만들어야 하나요?MySQL 5.1 참조 매뉴얼에 따르면: 테이블에서 열이 삭제되면 열이 속한 인덱스에서도 제거됩니다.인덱스를 구성하는 모든 열이 삭제되면 인덱스도 삭제됩니다.CHANGE 또는 MODIFY를 사용하여 열에..

programing 2023.07.26
반응형