Ошибка SQLite: «Ошибка № 3132: Несоответствие типов данных». в Adobe AIR - PullRequest
2 голосов
/ 20 октября 2011
"SELECT * FROM locations 
 JOIN section_has_location ON locations.location_id = section_has_location.location_id 
 WHERE section_has_location.chapter_id =2 
   AND section_has_location.section_id=2"

Я получаю сообщение об ошибке:

SQLError: «Ошибка # 3132: несоответствие типов данных.», Подробности: «не удалось преобразовать текстовое значение в числовое значение.», Операция: «execute ', detailID:' 2300 '

Это таблицы:

CREATE TABLE locations ( 
    location_id INTEGER,
    name        TEXT,
    mask_id     TEXT,
    x           REAL,
    y           REAL,
    content     TEXT,
    image_url   TEXT,
    type        TEXT 
);

CREATE TABLE section_has_location ( 
    chapter_id  INTEGER,
    section_id  INTEGER,
    location_id INTEGER 
);

Как исправить запрос, чтобы не вызвать ошибку?

обновление: я экспортировал все данные и импортировал их в новую чистую базу данных.Кажется, это решило эту ошибку.

Ответы [ 2 ]

2 голосов
/ 20 октября 2011

Я просто взял ваш код, создал таблицы и запустил запрос, и он отлично работает.

Я предполагаю, что вы сделали, возможно, отредактировали тип одного из столбцов, но таблица не былаобновите, попробуйте sp_help tablename здесь или посмотрите в обозревателе объектов, если вы используете Management Studio и проверьте тип данных ваших столбцов, или, если вы можете, может быть проще просто удалить обе таблицы и воссоздать их

0 голосов
/ 06 июня 2019

Я знаю, что это старый вопрос, но я нашел новый ответ сегодня. Я получал точно такую ​​же ошибку, и оказалось, что запись, которую я пытался обновить, содержала столбец целых чисел, который содержал строковое значение «0» вместо целого числа 0. Даже если я не пытался установить это поле, оно вызвал эту ошибку - и ошибка исчезла, когда я исправил значение этого столбца вручную.

Причина, по которой в поле содержалась строка, заключалась в том, что DDL, использованный для создания таблицы, определил столбец как целое число, но вместо DEFAULT 0 имел предложение DEFAULT '0'. столбец.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...