NBK
Новичок
Да спасибо.И сразу неправильно.
Если писать в него запрос по-старинке, то никакого смысла пользоваться им нет.
А если пользоваться, то любые переменные должны идти в запрос в обязательном порядке через плейсхолдеры
Для запросов INSERT и UPDATE есть специальный плейсхолдер, для которого надо передать массив, где ключ - это имя поля, а значение - передаваемая переменная:
и после этого вызвать запрос, как показано выше:PHP:$data = array( 'TIME_GET' => $timeget, 'NAME' =>$pl[0], // и так далее );
С этим ясно?PHP:$sql = "INSERT INTO table ?u"; $db->query($sql, $data);
Ничего такого эта функция не умеет.
Умеет mysql, но не по предложенным данным, а по первичному ключу.
Если в таблице есть первичный ключ, то можно после запроса INSERT дописать ON DUPLICATE KEY UPDATE TIME_GET=values(TIME_GET), NAME=values(NAME) ...
в этом случае, при попытке вставить существующий первичный ключ, будут обновлены указанные в конце запроса поля
пример: http://phpfaq.ru/examples#onduplicate
http://phpfaq.ru/examples#multiinsert
PHP:
$sql = "INSERT INTO table set ?u";
с ODKU буду разбираться еще пока и обычный запрос в базе не отработал. (сейчас #1267 - Illegal mix of collations ) побороть пытаюсь.
ODKU с мультиинсертом будет работать?
Стоит выбор или одним запросом вставить в базу сразу все 100тыс строк или мучить ODKU.
PS не понимаю подход к ODKU почему не реализовали просто перечислением полей которые нужно апдейтить, значения для всех полей то уже переданы и с мультиинсертом можно было бы ODKU пользовать, уверен база вставку в таблицы все равно построчно делает.