반응형
MySQL--필드 목록의 알 수 없는 열
아래 업데이트가 콘솔에서는 잘 작동하지만 Java 코드에서는 실패하는 이유를 알 수 없습니다.
MariaDB [testdb]> DESCRIBE datasift_geo;
+-------------+---------------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------------+---------------------+------+-----+---------+-------+
| datasift_id | bigint(20) unsigned | NO | PRI | NULL | |
| latitude | decimal(17,14) | YES | | NULL | |
| longitude | decimal(17,14) | YES | | NULL | |
| location | varchar(100) | YES | | NULL | |
| coord | point | YES | | NULL | |
+-------------+---------------------+------+-----+---------+-------+
5 rows in set (0.00 sec)
MariaDB [testdb]> SELECT * FROM datasift_geo;
+-------------+-------------------+-------------------+------------+-------+
| datasift_id | latitude | longitude | location | coord |
+-------------+-------------------+-------------------+------------+-------+
| 1601 | 51.45713800000000 | -2.60802800000000 | Bristol UK | NULL |
+-------------+-------------------+-------------------+------------+-------+
MariaDB [testdb]> UPDATE datasift_geo SET coord = GeomFromText('POINT(51.45713800000000 -2.60802800000000)');
Query OK, 1 row affected (0.01 sec)
Rows matched: 1 Changed: 1 Warnings: 0
================
@Test
public void testGeoCoord() throws SQLException {
int id = 1601;
float latitude = 51.45713806152344f;
float longitude = -2.608027935028076f;
String sql = "UPDATE `datasift_geo` SET `datasift_geo`.`coord` = GeomFromText('POINT(" + latitude + " " + longitude + ")') WHERE datasift_id = " + id;
// get database connection, create a PreparedStatement, execute the UPDATE
}
======
UPDATE 실행 결과
java.sql.SQLSyntaxErrorException:'필드 목록'의 'datasift_geo.cord' 열을 알 수 없음
당신이 JAVA 코드로 작성한 SQL에서, 당신이 제공한 것으로 보입니다.tableName.ColumnName
SQL에 있습니다.열 이름만 입력해야 합니다.
String sql = "UPDATE `datasift_geo` SET **`datasift_geo`.`coord`** = GeomFromText('POINT(" + latitude + " " + longitude + ")') WHERE datasift_id = " + id;
구문:업데이트 테이블_이름 집합 열_이름
Java 코드에는 다음이 있습니다.업데이트 TABLE_NAME SET TABLE_NAME.COLUMN_NAME -- 잘못됨
또한 예외를 통해 확인할 수 있습니다.
따라서 Jave Code의 SQL은 다음과 같아야 합니다.
String sql = "UPDATE `datasift_geo` SET `coord` = GeomFromText('POINT(" + latitude + " " + longitude + ")') WHERE datasift_id = " + id;
언급URL : https://stackoverflow.com/questions/26100379/mysql-unknown-column-in-field-list
반응형
'source' 카테고리의 다른 글
src 원본 이미지를 찾을 수 없을 때 "이미지를 찾을 수 없음" 아이콘을 자동으로 숨기는 방법 (0) | 2023.08.26 |
---|---|
스크립트를 입력합니다.FormGroupFormArray - 값별로 요소 객체를 하나만 제거합니다.앵귤러 24 (0) | 2023.08.26 |
비 PowerShell 명령의 출력을 억제하시겠습니까? (0) | 2023.08.26 |
두 원소가 동일한지 여부 검정 (0) | 2023.08.26 |
Reactjs, nodejs 및 maria가 포함된 로그인 페이지DB (0) | 2023.08.26 |