![](/img/trans.png)
[英]H2 database complaints about sql syntax error with a valid mysql query
[英]SQL syntax error in H2 Database when inserting array
我實際上是在嘗試將數據插入到 H2 數據庫中。 在啟動應用服務器時,得到 SQL 語法錯誤異常。 我真的不確定H2數據庫是否支持在列中插入數組? 下面的sql語句有問題嗎? H2 數據庫是否支持任何數組數據類型 float[]、String[]...?
INSERT INTO weather (id,date,temperature) values ('1','2019-09-11','{"37.3","36.8","36.4"}');
CREATE TABLE WEATHER(
id INT AUTO_INCREMENT PRIMARY KEY,
date DATE,
temperature text[]
);
您不能在 H2 和其他數據庫中使用 PostgreSQL 樣式的text[]
作為數據類型。 H2 具有ARRAY
數據類型:
https://h2database.com/html/datatypes.html#array_type
H2 1.4.201 還將支持具有組件類型的符合標准的數組數據類型:
componentDataType ARRAY[maximumCardinality]
如果您現在確實需要該功能,則可以從其當前來源構建 H2,但我認為您並不真正需要它,非標准普通ARRAY
也可以使用。
'{"37.3","36.8","36.4"}'
是字符串文字。 H2 使用標准數組字面量:
ARRAY[element, …]
https://h2database.com/html/grammar.html#array
如果您使用一些過時的 H2 版本,則需要使用非標准的(element, …)
文字(但不要在最新版本中使用該變體,它們將根據標准的要求將其解析為行值) .
它與您的問題無關,但您確實應該使用1
而不是'1'
作為整數文字,使用DATE '2019-09-11'
而不是'2019-09-11'
作為日期文字,以避免從字符串轉換為其他數據類型。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.