미션 크리티컬 프로젝트가 아닌 MySQL 데이터베이스를 만드는 것을 고려 중입니다. 테이블에 다른 열을 삽입해야하는 경우 기존 열의 데이터 무결성을 손상시키지 않고 이러한 추가 열의 기본값을 지정하지 않고 어떻게 달성 할 수 있을지 생각했습니다. SQL과 Java Persistence API (JPA)에 대한 답변을 원합니다.미래의 SQL 테이블 증명?
또한 부모 테이블의 셀 내에 테이블을 추가하는 방법을 알고 싶습니다.
미션 크리티컬 프로젝트가 아닌 MySQL 데이터베이스를 만드는 것을 고려 중입니다. 테이블에 다른 열을 삽입해야하는 경우 기존 열의 데이터 무결성을 손상시키지 않고 이러한 추가 열의 기본값을 지정하지 않고 어떻게 달성 할 수 있을지 생각했습니다. SQL과 Java Persistence API (JPA)에 대한 답변을 원합니다.미래의 SQL 테이블 증명?
또한 부모 테이블의 셀 내에 테이블을 추가하는 방법을 알고 싶습니다.
열을 추가하면 다중 열 인덱스, 고유 키 또는 이와 유사한 항목을 만드는 것과 같이 열을 연결하는 작업을 수행하지 않는 한 기존 데이터에 영향을 미치지 않습니다. 그러나 새로운 & 이전 열 사이에 그러한 연결이없는 경우 원하는만큼 열을 추가하십시오. 미치다!
그것은 쉽게 :
이ALTER TABLE mytable
ADD COLUMN newcolumn VARCHAR(20)
당신은 그것을 디폴트 값을 제공 할 수 있습니다, 당신은 단지 끝 부분에 열을 추가하려면 "XYZ"열 후를 추가 할 AFTER xyz
절을 사용 (또는 그것을 생략 할 수 있습니다).
이것에 대해 특별한 것은 없지만 RDBMS를 사용하면 데이터베이스에 열을 즉시 추가 (및 제거) 할 수 있습니다.
앞에서 설명한 것처럼 선택한 RDBMS의 구문을 사용하여 테이블에 열을 추가하기 만하면됩니다.
그 시점에서 코드를 변경하고 싶지 않다면, 적절한 기본값을 제공하는 것만으로도 괜찮습니다 (null도 적절한 기본값이 될 수 있습니다). 그렇게하면 응용 프로그램에서 문제없이 행을 삽입 할 수 있습니다. 나중에 열을 매핑하고 응용 프로그램에서 열을 사용할 수 있습니다.
새로운 버전의 응용 프로그램과 함께 dbschema 업데이트를 릴리스하는 것이 일반적입니다.
코드에 영향을 줄 수있는 한 가지는 코드가 키워드 열 대신 위치 열을 참조하는 경우입니다. firstname
이 5라는 위치에 있다고 예상 할 경우 firstname
키워드로 참조하는 대신 표의 끝에 새 열을 추가 할 수 있습니다.
그리고 Hibernate/JPA 코드는 어떻습니까? – Catfish