2015-02-21 1 views
0

Я создаю запросы в Python 2.7, и я использую библиотеку MySQLdb для выполнения этих запросов. Я пытаюсь вставить данные из одной таблицы в другую и только для нескольких строк (всегда одни и те же строки, я сделал несколько прогонов). Это предупреждение «Предупреждение: данные усекаются для столбца» в определенном столбце.MySQL «Предупреждение: данные, усеченные для столбца» отображаются только для некоторых строк, хотя они имеют одинаковую длину, как и другие?

  • OLD столбец определяется как some_column VARCHAR(255)
  • NEW столбец определяется как some_other_column VARCHAR(8)

Ничего очевидное различие в их размерах, данные я пытаюсь вставить всегда 8 символов , И данные, усеченные (потерянные), всегда являются только последним символом.

Я попытался установить столбец VARCHAR(9), и теперь он работает, но это не является желаемым результатом, таблицы не должны быть изменены для проблемы, которая не существует ...

Пример данных Я пытается вставить, но он получает усечен:

MOW15017 

пример данных Я вставив, который работает:

LON15023 

(выборочные данные копируются непосредственно из таблицы после вставки в со lumn изменен на VARCHAR(9))

Что-нибудь я здесь не хватает?

Это вопрос с кодировкой?

Дополнительное примечание: выполнение запроса непосредственно в базе данных работает без какого-либо предупреждения, с помощью Python MySQLDb я получаю предупреждения на 8 строк (CCA 1000 строк в общей сложности)

+0

Такая же проблема для SQL Server тоже? (Как его отметили ...) – jarlh

+0

Нет, извините, ошибочно ... Предложения заставили меня сделать это ... –

+0

Нет проблем, теперь исправлено. – jarlh

ответ

0

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

Новый запрос: (в старом, а дело было только жираф жираф AS)

INSERT INTO table (column1, ...) 
    SELECT CASE 
       WHEN LENGTH(giraffe) > 8 
       THEN SUBSTRING(giraffe, 2, 9) 
       ELSE giraffe 
      END AS column1, 
      ... 
    FROM table2 

Я не» t, поскольку, если есть случаи, когда я могу hav e невидимый магический первый персонаж, который гарантирует мне, что не будет двух волшебных невидимых персонажей ...

Смежные вопросы