>데이터 베이스 >MySQL 튜토리얼 >열 이름을 preparedStatements의 입력 매개변수로 사용할 수 있습니까?

열 이름을 preparedStatements의 입력 매개변수로 사용할 수 있습니까?

Susan Sarandon
Susan Sarandon원래의
2024-12-31 03:02:08423검색

Can Column Names Be Used as Input Parameters in PreparedStatements?

PreparedStatements에서 열 이름을 입력 매개변수로 사용

질문:
열 이름을 다음과 같이 사용할 수 있습니까? "SELECT * FROM A,B WHERE와 같은 ReadyStatement 쿼리의 입력 매개변수 A.X = ?" 매개변수로 B.Y에 값을 할당합니까?

답변:
아니요, JDBC는 열 이름을 입력 매개변수로 사용하는 것을 허용하지 않습니다. ReadyStatements는 열 값만 매개변수로 허용합니다. SQL 문을 동적으로 수정하려면 preparedStatement를 생성하기 전에 수정해야 합니다.

제공된 예제 사용:

Table A has Attribute X + others
Table B has Attribute Y + others

PreparedStatement는 다음과 같이 구성할 수 있습니다.

String sql = "SELECT * FROM A, B WHERE A.X = ?";
PreparedStatement statement = connection.prepareStatement(sql);
statement.setString(1, "value for A.X");

단, "B.Y"는 컬럼명이므로 동적으로 매개변수를 설정할 수는 없습니다.

위 내용은 열 이름을 preparedStatements의 입력 매개변수로 사용할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.