Я пытаюсь сделать следующий запрос

INSERT INTO 'table_1'(column_1)  
    SELECT DISTINCT 'column 2'  
    FROM other_schema.table2;  

В обоих этих столбцах для полей установлено значение INT (255), но я получаю следующую ошибку:

«Код ошибки: 1366. Неверное целочисленное значение: 'column2' для столбца 'column2' в строке 88163»

Я даже пошел и проверил отдельные строки, но в поле стоит число (точнее 5800).

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

0
BurningBagel 26 Ноя 2016 в 20:28

2 ответа

Лучший ответ

В настоящее время вы пишете свой запрос так, что вы пытаетесь INSERT вставить строку в целочисленный столбец. Когда ты делаешь

SELECT DISTINCT 'column2'

Вы выбираете буквальную строку 'column2', а не значения из этого столбца. Я бы не цитировал ссылки на вашу таблицу и столбец:

INSERT INTO table SELECT DISTINCT column2 FROM ...

0
gr1zzly be4r 26 Ноя 2016 в 17:32

Если вы используете одинарные кавычки вокруг столбца 2, sql интерпретирует это как строку, вам нужно удалить кавычки или добавить обратные кавычки `, если в имени таблицы есть пробелы

SELECT DISTINCT `column 2`
0
phobia82 26 Ноя 2016 в 17:59