0
저는 alter table 쿼리를 사용하여 코드를 통해 db 테이블에 동적으로 테이블을 추가하고 있습니다. 하지만 난 그 문제가 열에 값을 삽입하려고 노력하고있다. 그것은 예외 컬럼을 발생시킵니다. 그리고 내가 깨끗하게하고 잘 작동 netbeans 통해 내 프로젝트를 다시 작성합니다.테이블의 동적으로 생성 된 열에 데이터를 삽입하는 중 문제가 발생했습니다
나는 java와 mysql을 databse로 사용하고있다.
이 문제에 대한 해결책을 알고있는 기관이 있습니까?
다음은 내 테이블 변경 쿼리 코드
String alterTableQuery ="alter table `test` add `abc` varchar(50) NOT NULL default ''";
stmt = conn.prepareStatement(alterTableQuery);
boolean val = stmt.execute();
내가 다음 코드를 사용하여 데이터를 삽입하려합니다. 난 당신이) (dataAdapter.AcceptChanges를 호출 할 필요가 테이블에 변경을 수행 한 후 자바에 대해 있지만 .NET에서 잘 모릅니다
String sqlQuery = "insert into `test` (`id`,`abc`) values (?)" ;
stmt = conn.prepareStatement(sqlQuery);
boolean val = stmt.execute();
SQL 문을 게시 할 수 있습니까? –
또한 가능한 경우 테이블의 "DESCRIBE
코드 예제가 있습니까? – MatBailie
답변
; 이는 본질적으로 테이블 변경을 커밋합니다.
코드에서 열을 테이블에 추가 한 후에 유사한 코드를 호출해야 삽입 기능이 작동합니다.
출처
2009-03-06 14:01:11 user47008
데이터 설명 언어 (DDL)는 종종 트랜잭션 외부에서 실행되기 때문일 수 있습니다. 아마도 커밋/롤백 또는 심지어 다시 연결 문제를 정렬합니다. 그냥 추측.
출처
2009-03-06 14:16:14
디자인을 다시 생각해 볼 수도 있습니다. 일반적으로 사용자 인터페이스가 테이블에 열을 추가하는 것은 좋지 않습니다. 아마 당신은 더 정규화 된 디자인이 필요합니다. 데이터베이스 구조 변경은 사용자가 가져서는 안됩니다. 다른 사용자가 동시에 변경하는 경우 당신은 진짜 혼란을 만들 수 있습니다. 또한 사용자는 열을 추가 할 수있는 보안 권한이 없어야합니다. 이는 시스템의 주요 위험 요소입니다.
출처
2009-03-06 21:17:46 HLGEM
관련 문제