INSERT с SELECT

У меня была проблема как это с устройством, подключенным через usb. XP / Vista спал бы/был бы в спящем режиме прямо в середине... Большой Вы говорите, когда это возобновляет, что может только продолжиться. Если аппаратные средства все еще подключены!!! У пользователей есть привычка к вытаскиванию кабелей каждый раз, когда они чувствуют себя подобно ему.

необходимо обработать XP, и Vista

Под XP захватывают WM_POWERBROADCAST и ищут PBT_APMQUERYSUSPEND wparam.

   // See if bit 1 is set, this means that you can send a deny while we are busy
   if (message.LParam & 0x1)
   {
      // send the deny message
      return BROADCAST_QUERY_DENY;
   } // if
   else
   {
      return TRUE;
   } // else

Под Vista используют SetThreadExecutionState как это

// try this for vista, it will fail on XP
if (SetThreadExecutionState(ES_CONTINUOUS | ES_SYSTEM_REQUIRED | ES_AWAYMODE_REQUIRED) == NULL)
{
   // try XP variant as well just to make sure 
   SetThreadExecutionState(ES_CONTINUOUS | ES_SYSTEM_REQUIRED);
}  // if 

и когда Вы, которых закончило приложение, задерживаете его к нормальному

// set state back to normal
SetThreadExecutionState(ES_CONTINUOUS);
267
задан Geoffrey Hale 24 May 2016 в 07:49
поделиться

1 ответ

Конечно, Вы можете.

Одна вещь должна быть отмечена однако: INSERT INTO SELECT оператор копирует данные из одной таблицы и вставляет его в другую таблицу И требует , что типы данных во входных и выходных таблицах соответствуют. Если типы данных из данных столбцов таблицы не будут соответствовать (т.е. пытающийся вставить VARCHAR в INT, или TINYINT в INT), то сервер MySQL бросит SQL Error (1366).

Так быть осторожным.

Вот синтаксис команды:

INSERT INTO table2 (column1, column2, column3)
SELECT column1, column2, column3 FROM table1
WHERE condition;

примечание Стороны: существует способ обойти другую проблему вставки типов столбца при помощи [1 111] кастинг в Вашем SELECT, например:

SELECT CAST('qwerty' AS CHAR CHARACTER SET utf8) COLLATE utf8_bin;

Это преобразование (CAST() синоним [1 110]) очень полезно, если Ваши таблицы имеют различные наборы символов на том же столбце таблицы (который может потенциально привести к потере данных если не обработанный правильно).

0
ответ дан 23 November 2019 в 02:22
поделиться
Другие вопросы по тегам:

Похожие вопросы: