Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Проблема с динамическим Insert On duplicate key update / 4 сообщений из 4, страница 1 из 1
24.10.2013, 10:26:50
    #38439358
li0_0_0
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с динамическим Insert On duplicate key update
Здравствуйте, подскажите, а то не могу понять, почему не обновляет запись при нахождении уникальности. Например, меняя переменную ArrDay, добавлять в определенный столбец при нахождении уникальности запись. Ну по крайней мере так я думал. Что я делаю не так!?

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
 
  DECLARE TypeWorkID, TypeWorkTimeID int DEFAULT 0;

  DECLARE HourDay float DEFAULT 0.00;

  DECLARE TabNum, ArrDay varchar(10) DEFAULT NULL;

 
CREATE TEMPORARY TABLE tbldrv_tmp (
    id int(11) NOT NULL AUTO_INCREMENT,
    uniq_field int(50) UNIQUE NOT NULL,    
    type_work_id varchar(11) DEFAULT NULL,
    type_work_time_id varchar(11) DEFAULT NULL,
    flag_simv tinyint(1) DEFAULT FALSE, 
    tab_num int(11) DEFAULT NULL,   
    day_1 varchar(10) DEFAULT NULL, day_2 varchar(10) DEFAULT NULL, day_3 varchar(10) DEFAULT NULL, day_4 varchar(10) DEFAULT NULL,
    day_5 varchar(10) DEFAULT NULL, day_6 varchar(10) DEFAULT NULL, day_7 varchar(10) DEFAULT NULL, day_8 varchar(10) DEFAULT NULL,
    day_9 varchar(10) DEFAULT NULL, day_10 varchar(10) DEFAULT NULL, day_11 varchar(10) DEFAULT NULL, day_12 varchar(10) DEFAULT NULL,
    day_13 varchar(10) DEFAULT NULL, day_14 varchar(10) DEFAULT NULL, day_15 varchar(10) DEFAULT NULL, day_16 varchar(10) DEFAULT NULL,
    day_17 varchar(10) DEFAULT NULL, day_18 varchar(10) DEFAULT NULL, day_19 varchar(10) DEFAULT NULL, day_20 varchar(10) DEFAULT NULL,
    day_21 varchar(10) DEFAULT NULL, day_22 varchar(10) DEFAULT NULL, day_23 varchar(10) DEFAULT NULL, day_24 varchar(10) DEFAULT NULL,
    day_25 varchar(10) DEFAULT NULL, day_26 varchar(10) DEFAULT NULL, day_27 varchar(10) DEFAULT NULL, day_28 varchar(10) DEFAULT NULL,
    day_29 varchar(10) DEFAULT NULL, day_30 varchar(10) DEFAULT NULL, day_31 varchar(10) DEFAULT NULL,
    PRIMARY KEY (id)
  )
  ENGINE = MYISAM;

                  SET ArrDay:=23;
                  SET TabNum:=526;
                  SET TypeWorkTimeID:=1;
                  SET TypeWorkID:=1;              
                  SET HourDay:=8;
                  SET @tmp_ins_str:=CONCAT('INSERT INTO tbldrv_tmp (uniq_field, type_work_id, type_work_time_id, flag_simv, tab_num, '
                                          , CONCAT('day_', ArrDay),') VALUES (', CAST(CONCAT(TabNum, TypeWorkTimeID, '0') AS UNSIGNED), ', ', TypeWorkID, ', ', TypeWorkTimeID, ', '
                                          , 'False', ', ', TabNum, ', ', HourDay
                                          , ') ON DUPLICATE KEY UPDATE ', CONCAT('day_', ArrDay), ' = ', CONCAT('day_', ArrDay), ' + ', HourDay);   
                  
                  PREPARE tmp_ins FROM @tmp_ins_str;
                  EXECUTE tmp_ins;
                  DEALLOCATE PREPARE tmp_ins; 
...
Рейтинг: 0 / 0
24.10.2013, 11:04:20
    #38439446
miksoft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с динамическим Insert On duplicate key update
а чего вы ожидали от varchar + 8 ?
...
Рейтинг: 0 / 0
24.10.2013, 11:15:51
    #38439476
li0_0_0
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с динамическим Insert On duplicate key update
ожидал по всей видимости чуда, ступил, спасибо!
...
Рейтинг: 0 / 0
24.10.2013, 11:33:11
    #38439525
Cygapb-007
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с динамическим Insert On duplicate key update
NULL+'что-то' всегда будет NULL
...
Рейтинг: 0 / 0
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Проблема с динамическим Insert On duplicate key update / 4 сообщений из 4, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]