2015-10-30 1 views
0

При использовании двойных кавычек или «неожиданных симуляций_t (double quoteed text)» я либо вижу «неожиданный двойной» при использовании двойных кавычек. Я думаю, что это связано с функциями cast(), но я хочу сделать эту таблицу иначе, чем другую. Я не уверен, как это сделать, поскольку каждая ошибка имеет решение, которое делает другую ошибку; при использовании backticks, я видел, что мне нужно было переключиться на двойные кавычки, и, используя двойные кавычки, я увидел, что мне нужно изменить на backticks.Перенос данных между таблицами, что не так с синтаксисом в этих функциях cast()? MySQL

+0

Я парень Oracle, а не MySQL, но очевидный вопрос: вы не пробовали никаких тиков или кавычек? – Levesque

+0

Там же ошибки. – ijustlovemath

ответ

1

Проверьте mysql cast().

Существуют конкретные типы, которые могут быть отлиты, и они отличаются от типов определения столбцов acutal. Кроме того, обратные элементы не нужны для типа. Backticks предназначены для имен определения объектов (таблицы, столбцы и т. Д.), Которые либо конфликтуют с зарезервированными словами, либо имеют место в них, либо иначе могут вызывать незаконный синтаксис.

select cast("01" as decimal(2,1)), cast("1" as unsigned integer); 
# 1.0 1 
+0

Есть два, которые я бросаю как бит, они в настоящее время являются текстовыми (1 или 0). Остальные в настоящее время int, я хочу отдать их как tinyint. Они все не больше 217, так что tinyint идеально. – ijustlovemath

+0

Для бит, который вы можете использовать, 'IF (column = 1, b'1 ', b'0')'. Другие броски могут не понадобиться. Каковы типы сопоставлений? – JRD

+0

TINYINT может хранить значения от -127 до 127. Если вы сохраняете 217, вам понадобится хотя бы 'SMALLINT'. – JRD

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