본문 바로가기

SQL2314

MySQL LEFT JOIN 및 INNER JOIN을 사용하여 삽입 다음 쿼리를 사용하여 새 레코드를 삽입하는 방법을 알아 내려고 노력하고 있습니다. SELECT user.id, user.name, user.username, user.email, IF(user.opted_in = 0, 'NO', 'YES') AS optedIn FROM user LEFT JOIN user_permission AS userPerm ON user.id = userPerm.user_id ORDER BY user.id; 지금까지 내 INSERT 쿼리는 다음과 같습니다. INSERT INTO user SELECT * FROM user LEFT JOIN user_permission AS userPerm ON user.id = userPerm.user_id; 그러나 왼쪽 및 내부 조인을 사용할 때 V.. 2021. 2. 1.
MySQL datetime을 지원하는 Python JSON 인코더? Python JSON 인코더가 datetime을 지원하도록 만드는 우아한 방법이 있습니까? 타사 모듈 또는 쉬운 해킹? tornado의 데이터베이스 래퍼를 사용하여 db에서 일부 행을 가져와 json을 생성하고 있습니다. 쿼리 결과에는 일반 MySQL 타임 스탬프 열이 포함됩니다. Python의 기본 json 인코더가 모든 종류의 데이터베이스 쿼리에서 흔히 볼 수있는 자체 datetime 유형을 지원하지 않는다는 것은 매우 성가신 일입니다. Python 자체의 json 인코더를 수정하고 싶지 않습니다. 좋은 습관이 있습니까? 감사합니다! 추신 : Python JSON 인코더 기본 방법을 수정하여 더러운 해킹을 발견했습니다. 변화: def default(self, o): raise TypeError(rep.. 2021. 2. 1.
MySQL 임시 테이블에서 UNION ALL을 할 수 없습니까? 다음과 같은 간단한 테스트를 실행하려고합니다. 임시 테이블을 만든 다음 두 가지 다른 선택을 UNIONing합니다. CREATE TEMPORARY TABLE tmp SELECT * FROM people; SELECT * FROM tmp UNION ALL SELECT * FROM tmp; 그러나 # 1137-테이블을 다시 열 수 없음 : 'tmp' 임시 테이블이 세션 동안 지속되어야한다고 생각했습니다. 여기서 문제는 무엇입니까? 해결 방법 이 오류는 Mysql 테이블이 임시 테이블을 관리하는 방식이 변경되어 조인, 공용체 및 하위 쿼리에 영향을 미침을 나타냅니다. mysql 오류가 테이블을 다시 열 수 없음을 수정하려면 다음 해결 방법을 시도해보세요. mysql> CREATE TEMPORARY TABLE .. 2021. 2. 1.
MySQL mysqldump 테이블 구조없이 데이터 추출 하나의 데이터베이스에 대한 모든 mysql 데이터를 단일 파일로 덤프하려고합니다. 즉,이 파일에 테이블 구조를 포함하고 싶지 않습니다 (테이블 구조를 가질 다른 파일이 있습니다). 테이블 구조가 아닌 데이터를 엄격하게 추출 할 수 있습니까? 내가 지금하고있는 일 ... # Extracts the database structure mysqldump -d -hlocalhost -uusername -ppassword database -r database.sql # Extracts each table and their data individually mysqldump -d -hlocalhost -uusername -ppassword database --tab . 첫 번째 명령은 데이터베이스의 모든 엔터티 구조로.. 2021. 2. 1.
MySQL SQL : 검색 / 바꾸지 만 레코드에 값이 처음 나타날 때만 post_content 열에 html 콘텐츠가 있습니다. A를 검색하여 B로 바꾸고 싶지만 A가 레코드에 처음 나타날 때만 두 번 이상 나타날 수 있습니다. 아래 쿼리는 분명히 A의 모든 인스턴스를 B로 대체합니다. UPDATE wp_posts SET post_content = REPLACE (post_content, 'A', 'B'); 해결 방법 이것은 실제로 MySQL에서 원하는 것입니다. UPDATE wp_post SET post_content = CONCAT(REPLACE(LEFT(post_content, INSTR(post_content, 'A')), 'A', 'B'), SUBSTRING(post_content, INSTR(post_content, 'A') + 1)); 이전 답변보다 약간 더 복.. 2021. 2. 1.
MySQL PHP 확인 MySQL 마지막 행 이것이 MySQL의 마지막 행인지 아닌지 확인하기 위해 PHP에 관한 간단한 질문이 있습니다. 예를 들어 다음 코드가 있습니다. $result = mysql_query("SELECT *SOMETHING* "); while($row = mysql_fetch_array($result)) { if (*this is the last row*) {/* Do Something Here*/} else {/* Do Another Thing Here*/} } 행이 마지막 행인지 아닌지 확인하는 데 어려움이 있습니다. 어떻게하는지 아십니까? 감사. 해결 방법 $numResults = mysql_num_rows($result); $counter = 0 while ($row = mysql_fetch_array($result).. 2021. 2. 1.
MySQL 및 Hibernate3 주석을 사용하는 <generator class = "native"> </ generator>에 해당 새 프로젝트를 시작하면 지금까지 사용한 구성 파일 대신 MySQL과 함께 Hibernate 주석을 사용하고 싶습니다. 그리고 다음과 같은 것을 찾을 수 없습니다. 나는 사용해 보았다 : @Id @GeneratedValue(strategy = GenerationType.IDENTITY, generator = "native") private long id; 하지만 : org.hibernate.AnnotationException: Unknown Id.generator: native 또는: @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private long id; 나에게주세요: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxE.. 2021. 2. 1.
MySQL 특정 테이블에서 마지막으로 삽입 된 ID SELECT LAST_INSERT_ID() as id FROM table1 이 쿼리가 때때로 table1이 아닌 다른 테이블의 마지막 삽입 된 ID를 반환하는 이유는 무엇입니까? Node.js (db-mysql 플러그인)에서 호출하고 쿼리 만 할 수 있습니다. 해결 방법 LAST_INSERT_ID () 는 가장 최근에 자동 생성 된 ID 전체 데이터베이스 연결 의 ID 만 알려줍니다. , 각 개별 테이블이 아닙니다. 따라서 쿼리가 테이블을 지정하지 않고 SELECT LAST_INSERT_ID () 만 읽어야합니다. 해당 연결에서 다른 INSERT 쿼리를 실행하자마자 덮어 씁니다. 어떤 테이블에 삽입 할 때 생성 된 ID 를 원하면 그 직후에 SELECT LAST_INSERT_ID () 를 실행 해야합니다.. 2021. 2. 1.
MySQL mysql 결합 된 고유 키 MySQL에 두 개의 고유 키를 가지고 어떻게 든 연결하는 방법이 있습니까? 예를 들어 다음 테이블이 있고 'title'과 'store'가 고유 키인 경우 id | category | title | price | store 1 | outdoors | fishing rod | 59.99 | wal-mart 2 | auto | Penzoil Oil | 9.99 | target 다음 레코드를 삽입하려고합니다. 제목이 "낚시대"이고 상점이 '월마트'이고 해당 제목과 상점이있는 기존 레코드가 있으므로이 새 레코드는 무시됩니다. | outdoors | fishing rod | 30.99 | wal-mart 하지만 다음 레코드를 삽입하려고하면 "낚시대"라는 제목과 "대상"의 상점이있는 레코드가 없기 때문에 수락 될 .. 2021. 2. 1.
MySQL에서 마지막 N 개 행 선택 기본 키 인 id 라는 열 내에서 MySQL 데이터베이스의 마지막 50 개 행을 선택하고 싶습니다. 목표는 행이 ID 를 기준으로 ASC 순서로 정렬되어야한다는 것이므로이 쿼리가 작동하지 않습니다. SELECT * FROM `table` ORDER BY id DESC LIMIT 50; 또한 행을 조작 (삭제) 할 수 있다는 점이 놀랍기 때문에 다음 쿼리도 작동하지 않습니다. SELECT * FROM `table` WHERE id > ((SELECT MAX(id) FROM chat) - 50) ORDER BY id ASC; 질문 : 조작 할 수 있고 ASC 순서 인 MySQL 데이터베이스에서 마지막 N 개 행을 검색하는 방법은 무엇입니까? 해결 방법 하위 쿼리로 수행 할 수 있습니다. SELECT * FR.. 2021. 1. 31.