Отрицательные значения ID-ков. Вопрос по работе Скрипта для выполнения работы по шагам от Долганина Антона., Программирование иногда очень удивляет. На этот раз столкнулся с отрицательными значениями ID-ков.
Преамбула: Переношу информацию из базы MSSQL в базу Битрикса MySQL.. Данная процедура происходит в два этапа: 1. С помощью ODBC сначала закидывается вся информация из базы MSSQL в базу MySQL Битрикса !в другие промежуточные таблицы. Т.е. НЕ в таблицы Битрикса. 2. Далее уже админ Битрикса с помощью «Скрипта для выполнения работы по шагам» который предложил Антон переносит из этих промежуточных таблиц данные в Битрикс.
Но в одной таблице MSSQL оказались отрицательные ID-ки. Как оказалось в MSSQL такое возможно. И соответственно уже в промежуточной таблице MySQL часть ID-ков с отрицательным значением.
И вышеупомянутый скрипт не «хочет брать» строки с отрицательными ID-ками в работу. Т.е. все строки в которых нормальные (с положительными значениями) ID-ки обрабатываются как и задумано, а отрицательные он просто не берет из таблицы.
Я понимаю, что это вопрос скорее по PHP но все таки подскажите пжлста как сделать что бы данный «Скрипт для выполнения работы по шагам» так же работал со строками у которых отрицательные ID-ки.
За выборку строк из таблицы отвечает участок кода: $lastID = intval($_REQUEST["lastid"]); $table = "b_TABLISA"; // здесь указываем с какой таблицей будем работать.
$rs = $DB->Query("select * from $table where ID>$lastID order by ID asc limit 500;"); while ($ar = $rs->Fetch()) { /* * do something !!! т.е. здесь нужно вставить что обрабатывать */ $lastID = intval($ar["ID"]); }
Т.е. как я понимаю, нужно изменить строку: $lastID = intval($_REQUEST["lastid"]); но как?
Попробовал: $lastID = intval(-100000); Дак скрипт начинает циклить бесконца по первым 500 строкам.