Перейти к содержимому


Не работает доп. действие


Сообщений в теме: 12

#1 arsenal

    Активный участник

  • Пользователи
  • PipPipPip
  • 448 сообщений

Отправлено 26 Сентябрь 2011 - 14:47

Написал простейшее доп. действие
$data= data_table("Объекты и системы по заявке","id={ID}");
$data['Тип системы'] = "";
insert_query($data, "Объекты и системы по заявке");
Т.е. нужно сделать копию выделенной строки, обнулив при этом одно поле.
Таблица подчиненная, настроена группировка по полю.
Выдает следующую ошибку
Fatal error: Duplicate entry '530' for key 'PRIMARY'
INSERT INTO f_data99 (f1300, f1301, f1302, status, f1386, user_id, add_time, f1299, id, f1311, f1313, f1327, f1331, f1358, f1359, f1360, f1385, u1, u6, u4, u5, r) VALUES ('Административное здание', '0.00', '0.00', '0', 'Объект 1 по адресу:', '1', '2011-09-26 14:18:21', '116', '530', '0.00', 'г. Самара, ул.', '0.00', '0.00', 'Административное здание по адресу: г. Самара, ул.', '530', '', 'ДА', 1, 1, 1, 1, 1)
in C:\Program Files\MSTL\���������� ����\www\include\functions2.php on line 104

Если вставлять или менять запись через функции insert_query или update_query, то вычисления в таблице при этом срабатывают на эти записи?

Сообщение отредактировал arsenal: 26 Сентябрь 2011 - 15:11


#2 CbCoder

    Активный участник

  • Программист ООО "КБ"
  • PipPipPip
  • 8 759 сообщений
  • Пол:Мужчина
  • Город:Казань

Отправлено 27 Сентябрь 2011 - 08:44

Просмотр сообщенияarsenal (26.9.2011, 15:47) писал:

Fatal error: Duplicate entry '530' for key 'PRIMARY'
Поле ID не должно дублироваться, оно уникальное. Обнулите его перед тем как копировать строку.

Просмотр сообщенияarsenal (26.9.2011, 15:47) писал:

Если вставлять или менять запись через функции insert_query или update_query, то вычисления в таблице при этом срабатывают на эти записи?
Нет разумеется. Это просто обертка sql-запросов INSERT и UPDATE, позволяющая более удобно работать с именами полей и таблиц. Выполнять какие-либо вычисления или нет - остается на усмотрение программиста.

#3 arsenal

    Активный участник

  • Пользователи
  • PipPipPip
  • 448 сообщений

Отправлено 27 Сентябрь 2011 - 12:28

Просмотр сообщенияРазработчик (27.9.2011, 8:44) писал:

Поле ID не должно дублироваться, оно уникальное. Обнулите его перед тем как копировать строку.
Но разве insert_query не создает строку с новым ID? Почему они дублируются?

#4 CbCoder

    Активный участник

  • Программист ООО "КБ"
  • PipPipPip
  • 8 759 сообщений
  • Пол:Мужчина
  • Город:Казань

Отправлено 27 Сентябрь 2011 - 12:35

Потому что вы его явно задаете, точнее берете из другой строки, загоняя в массив $data. А т.к. такой ID уже есть в той самой строке, то соответственно возникает ошибка дублирования. Удалите элемент $data['ID'] из массива, и ID будет автоматом создаваться новый.

#5 arsenal

    Активный участник

  • Пользователи
  • PipPipPip
  • 448 сообщений

Отправлено 27 Сентябрь 2011 - 12:38

Просмотр сообщенияРазработчик (27.9.2011, 12:35) писал:

Потому что вы его явно задаете, точнее берете из другой строки, загоняя в массив $data. А т.к. такой ID уже есть в той самой строке, то соответственно возникает ошибка дублирования. Удалите элемент $data['ID'] из массива, и ID будет автоматом создаваться новый.
Понятно, спасибо.

#6 Termi

    Участник

  • Пользователи
  • PipPip
  • 17 сообщений

Отправлено 08 Февраль 2012 - 07:55

Доброе утро!
Подскажите, что у меня могло произойти с КБ
На локальной версии все хорошо, на SAAS выдает ошибку при экспорте записей в таблицу:
Fatal error: Duplicate entry '0' for key 'PRIMARY'
UPDATE f_data90 SET id='',user_id='',add_time='2012-02-07 15:14:00',status='2012-02-07 15:14:00',f1219='2012-02-07 00:00:00',f1220='xxx',f1221='1987-11-04 00:00:00',f1222='xxx',f1223='xxx',f1224='aaaa',f1225='yyy',f1226='2010-12-23 00:00:00',f1227='',f1228='tel',f1229='нет',f1230='',f1231='dtel',f1232='friend',f1233='work ',f1242='adr_work in /home/fm1/public_html/include/functions_cron.php on line 2071

#7 Termi

    Участник

  • Пользователи
  • PipPip
  • 17 сообщений

Отправлено 08 Февраль 2012 - 08:01

*импорте..
После ошибки создается пустое поле с ID = 0

#8 Timur

    Активный участник

  • Техподдержка ООО "КБ"
  • PipPipPip
  • 854 сообщений
  • Пол:Мужчина

Отправлено 08 Февраль 2012 - 09:01

В какой таблице возникает проблема? в одной из стандартных таблиц или сделанной вами самостоятельно?

#9 Termi

    Участник

  • Пользователи
  • PipPip
  • 17 сообщений

Отправлено 08 Февраль 2012 - 09:36

В стандартной. Наши клиенты.

#10 Timur

    Активный участник

  • Техподдержка ООО "КБ"
  • PipPipPip
  • 854 сообщений
  • Пол:Мужчина

Отправлено 08 Февраль 2012 - 09:47

Не могли бы Вы отправить пример импортируемого файлика мне по электронной почте - timur@clientbase.ru ?

#11 Termi

    Участник

  • Пользователи
  • PipPip
  • 17 сообщений

Отправлено 09 Февраль 2012 - 05:32

Доброе утро!
Отправил.

#12 CbCoder

    Активный участник

  • Программист ООО "КБ"
  • PipPipPip
  • 8 759 сообщений
  • Пол:Мужчина
  • Город:Казань

Отправлено 09 Февраль 2012 - 12:12

Ошибку исправили, обновите ревизию.

#13 Termi

    Участник

  • Пользователи
  • PipPip
  • 17 сообщений

Отправлено 13 Февраль 2012 - 02:38

Спасибо!





Количество пользователей, читающих эту тему: 2

0 пользователей, 2 гостей, 0 анонимных