Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Обновить значение в строке, подскажите где я косячу  [new]
yoos
Member

Откуда:
Сообщений: 20
Структура таблицы:
ID int PRIMARY KEY NOT NULL IDENTITY(1,1),serial_ID bigint,ne_cont float,he_cont float,"
			"h_cont float,n_cont float,oar_cont float,enter_time text, fill_time text, out_time text,"
			"mass float,volume float ,pressure float ,fill_temp float,annotation text

Хочу обновить значение в последней строке таблицы
UPDATE dbo.ne_he_archive SET annotation = normal WHERE ID = (SELECT MAX(ID) FROM dbo.ne_he_archive)

В ответ получаю что normal ни есть именем колонки
Invalid column name 'normal'.

Не могу понять почему оно считает данные для колонки, именем колонки...
15 сен 17, 09:53    [20797854]     Ответить | Цитировать Сообщить модератору
 Re: Обновить значение в строке, подскажите где я косячу  [new]
Руслан Дамирович
Member

Откуда: Резиновая нерезиновая
Сообщений: 940
yoos,
потому что строковые литералы заключаются в кавычки, а все остальные интерпретируется к названия колонок или числа.
15 сен 17, 09:55    [20797866]     Ответить | Цитировать Сообщить модератору
 Re: Обновить значение в строке, подскажите где я косячу  [new]
TaPaK
Member

Откуда: Kiev
Сообщений: 6794
yoos,

ну если это данный, то хоть в кавычки возьмите
15 сен 17, 09:56    [20797867]     Ответить | Цитировать Сообщить модератору
 Re: Обновить значение в строке, подскажите где я косячу  [new]
iap
Member

Откуда: Москва
Сообщений: 46953
Сейчас он напишет в кавычках "normal ", а это скорее всего интерпретируется как имя поля.
И всё по новой!

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

Не могу удержаться:

  • замените тип TEXT на VARCHAR(MAX)
  • если поле не содержит какие-либо физические величины, то лучше тип FLOAT избегать
  • несколько полей имеют в названии слово "time". Это время или дата? Но почему тогда тип TEXT??
  • 15 сен 17, 11:01    [20798072]     Ответить | Цитировать Сообщить модератору
    Все форумы / Microsoft SQL Server Ответить