JDB C не обновляет таблицу sqlite в столбце Speci c - PullRequest
0 голосов
/ 13 марта 2020

Я столкнулся с этим очень странным поведением, когда я строю строку для обновления строки таблицы, например, такую:

sql = "UPDATE cosmetics SET trail = 4,color = '[blue]',doTrail = 0,trails = null,trailSeen = null,inventory = null,uuid = 'abcd' WHERE uuid = 'abcd'";
PreparedStatement pstmt = conn.prepareStatement(sql);
pstmt.executeUpdate();
pstmt.close();

В перехвате попытки, и код работает нормально.

Моя проблема - все , но первый упомянутый столбец (ie, в данном случае trail) обновлен. Если я проверю таблицу из sqlite с помощью:

SELECT * FROM cosmetics WHERE uuid = 'abcd';

Возвращается

uuid|trail|doTrail|color|inventory|trails|trailSeen
abcd|0|0|[blue]|||

, где ранее было значение:

uuid|trail|doTrail|color|inventory|trails|trailSeen
abcd|0|1|[white]|||

Итак, doTrail был обновлен, и так был цвет, единственное, что не обновлялось, было следом. Я понятия не имею, почему это так, поэтому любая помощь будет высоко ценится.

Вот .schema cosmetics

CREATE TABLE cosmetics (uuid TEXT PRIMARY KEY, trail INTEGER, doTrail BOOLEAN, color TEXT DEFAULT "[white]", inventory TEXT, trails TEXT, trailSeen TEXT);

Я должен также упомянуть, если я скопирую и вставлю значение sql непосредственно в терминал проблем нет, и таблица обновляется, как и ожидалось.

...