Гость
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Какая-то хрень с INSERTOM / 9 сообщений из 9, страница 1 из 1
26.03.2019, 23:52
    #39791933
SQL2008
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Какая-то хрень с INSERTOM
Есть таблица
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
CREATE TABLE `masks` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `num` int(11) DEFAULT NULL,
  `face_id` int(11) DEFAULT NULL,
  `mask_id` int(11) DEFAULT NULL,
  `rand` double DEFAULT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `id_UNIQUE` (`id`),
  KEY `UNIQUE` (`num`,`face_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;



В процедуре вставляю в цикле записи в таблицу

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
    TRUNCATE TABLE masks;
    
    SET NUM = 5;
	SET ID = 0;   
    SET MASK_ID = 0;   
    WHILE (NUM < 16) DO
		SET FACE_ID = 0;
        WHILE (FACE_ID < NUM * 100) DO
            SET RAND = RAND();
			INSERT INTO masks(`num`,`face_id`,`mask_id`,`rand`) VALUES (NUM,FACE_ID,0,RAND);
			SET FACE_ID = FACE_ID + 1;
            SET ID = ID + 1;
        END WHILE;
		SET NUM = NUM + 1;
    END WHILE;



А сейчас самое интересно! Откуда в таблице берется значение 28235854 в поле mask_id ???
Я же явно прописываю туда 0. С каждым новым запуском процедуры это значение увеличивается.
C SQL Server такой хрени никогда не было! Или это студия глючит? Пользуюсь MySQL Workbench 6.3.

INSERT INTO masks(`num`,`face_id`, `mask_id` ,`rand`) VALUES (NUM,FACE_ID, 0 ,RAND);

# id, num, face_id, mask_id, rand
'1', '5', '0', '28235854', '0.36876754683327634'
'2', '5', '1', '28235854', '0.4861824675334454'
'3', '5', '2', '28235854', '0.32460972790104314'
'4', '5', '3', '28235854', '0.16450126763852432'
'5', '5', '4', '28235854', '0.8486771852231372'
'6', '5', '5', '28235854', '0.749882153933758'
'7', '5', '6', '28235854', '0.20337924473302368'
'8', '5', '7', '28235854', '0.7672497925974893'
'9', '5', '8', '28235854', '0.22611125952202013'
'10', '5', '9', '28235854', '0.828806950551278'
...
Рейтинг: 0 / 0
27.03.2019, 00:10
    #39791941
miksoft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Какая-то хрень с INSERTOM
SQL2008
Код: sql
1.
2.
PRIMARY KEY (`id`),
  UNIQUE KEY `id_UNIQUE` (`id`),

К вопросу отношения не имеет, но все же - зачем?
...
Рейтинг: 0 / 0
27.03.2019, 00:12
    #39791943
miksoft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Какая-то хрень с INSERTOM
SQL2008,

Триггера на таблице нет?
...
Рейтинг: 0 / 0
27.03.2019, 07:30
    #39791978
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Какая-то хрень с INSERTOM
SQL2008Откуда в таблице берется значение 28235854 в поле mask_id ???
Я же явно прописываю туда 0. С каждым новым запуском процедуры это значение увеличивается.
fiddle ничего подобного не показывает. Так что согласен с предыдущим оратором.
...
Рейтинг: 0 / 0
27.03.2019, 08:16
    #39791988
SQL2008
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Какая-то хрень с INSERTOM
miksoftSQL2008,

Триггера на таблице нет?
Нет конечно! Сам все таблицы создавал, но проверил на всякий случай.
Вообще в тупике.
Склонен считать это глюком.
Кроме того делаю даже так
Код: sql
1.
UPDATE masks SET mask_id = NULL


или
Код: sql
1.
UPDATE masks SET mask_id = 0


Пофигу! Значение как было, так и остается.
...
Рейтинг: 0 / 0
27.03.2019, 08:16
    #39791989
SQL2008
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Какая-то хрень с INSERTOM
miksoftSQL2008
Код: sql
1.
2.
PRIMARY KEY (`id`),
  UNIQUE KEY `id_UNIQUE` (`id`),


К вопросу отношения не имеет, но все же - зачем?
Да так уже от отчаяния наставил.
Совсем не нужен конечно.
...
Рейтинг: 0 / 0
27.03.2019, 08:18
    #39791991
SQL2008
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Какая-то хрень с INSERTOM
AkinaSQL2008Откуда в таблице берется значение 28235854 в поле mask_id ???
Я же явно прописываю туда 0. С каждым новым запуском процедуры это значение увеличивается.
fiddle ничего подобного не показывает. Так что согласен с предыдущим оратором.
Тут у меня тоже все хорошо. Да и не должно быть по другому... Мистика какая-то!
...
Рейтинг: 0 / 0
27.03.2019, 08:39
    #39791996
SQL2008
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Какая-то хрень с INSERTOM
Думал с утра чудеса кончатся, но нет.
Вот апдейт который вроде как должен менять записи, и он даже пишет об этом, но в реальности ничего не происходит.

08:31:03 UPDATE masks SET mask_id = NULL 11000 row(s) affected Rows matched: 11000 Changed: 11000 Warnings: 0 0.296 sec
...
Рейтинг: 0 / 0
27.03.2019, 08:47
    #39792001
SQL2008
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Какая-то хрень с INSERTOM
Вылечил только дропом этого поля и созданием нового, аналогичного!
Еще заметил - precision для INT(11) был равен 8, хотя для других целых полей 1.
Как это могло случиться - сказать не могу.
Но до этого в таблице апдейтил это странное поле в цикле курсора,
может как-то повлияло.
Вопрос закрыт, всем огромное спасибо за желание помочь.
...
Рейтинг: 0 / 0
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Какая-то хрень с INSERTOM / 9 сообщений из 9, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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