반응형
네이티브 SQL 준비 문을 사용하여 열 이름을 준비하는 방법
테스트를 위해 열에 준비된 네이티브 SQL 문이 필요합니다.
PREPARE stmt FROM 'SELECT * FROM `information_schema`.`TABLES` where ? > 10000';
SET @a = AVG_ROW_LENGTH;
Execute stmt using @a;
이것은 #1054 - '필드 목록'의 'AVG_ROW_LENGTH' 열과 같이 작동하지 않습니다(같은 경우, 열 이름 주위에 '를 붙여도).
다음이 결과를 반환하기 때문에 오류가 정당하지 않은 것 같습니다.
PREPARE stmt FROM 'SELECT * FROM `information_schema`.`TABLES` where AVG_ROW_LENGTH > ?';
SET @a = 10000;
Execute stmt using @a;
특별한 구문이 있는지, 아니면 그냥 작동하지 않는지 알고 계십니까?
감사합니다!
버전 정보:
Server: Localhost via UNIX socket
Server type: MariaDB
Server connection: SSL is not being used Documentation
Server version: 10.1.47-MariaDB-0+deb9u1 - Debian 9.13
Protocol version: 10
User: root@localhost
Server charset: UTF-8 Unicode (utf8mb4)
다음 방법을 사용할 수 있습니다.
SET @condition = 'AVG_ROW_LENGTH';
SET @value = 10000;
PREPARE stmt FROM CONCAT('SELECT * FROM `information_schema`.`TABLES` where ', @condition , ' > ?');
Execute stmt using @value;
EXECUTE Immediate 문을 사용할 수도 있습니다.
EXECUTE IMMEDIATE CONCAT('SELECT * FROM `information_schema`.`TABLES` where ', @condition , ' > ?') USING @value;
SQLize.online에서 테스트합니다.
언급URL : https://stackoverflow.com/questions/64801545/how-to-use-a-native-sql-prepared-statement-to-prepare-column-names
반응형
'source' 카테고리의 다른 글
버튼에서 png 색상 변경 - ios (0) | 2023.07.31 |
---|---|
코어 php 코드로 워드프레스 데이터베이스에 액세스할 수 있는 방법이 있습니까? (0) | 2023.07.31 |
C#에서 문자열을 유형으로 변환 (0) | 2023.07.31 |
Oracle SQL Developer와 비교하여 더 나은 툴이 있습니까? (0) | 2023.07.31 |
SQL Server Varchar를 Datetime으로 변환 (0) | 2023.07.31 |