theblackpost
@theblackpost

On dublicate key Ошибка Mysqli?

$query = "INSERT INTO actual_amo_columns 
    (pipeline_name, status_id, status_name) 
    VALUES ('$pipelinename', '$statusid', '$statusname')
    ON DUBLICATE KEY UPDATE 
    `pipeline_name` = VALUES('$pipelinename'),
    `status_id` = VALUES('$statusid'), 
    `status_name` = VALUES('$statusname')";
    
    $query_result = mysqli_query($dbcnx,$query) or die(mysqli_error($dbcnx));


Не пойму, что не нравится то ему?

for the right syntax to use near ''PIPELINE.RU'),`status_id` = VALUES('28235989'), `status_name` = VALUES('Не' at line 2


Может значения не могут быть пустыми? Как тогда изменить запрос?

А если делаю ON DUBLICATE KEY UPDATE `pipeline_name` = '$pipelinename' ,
то записи дублируются

Сам запрос получается:

string(291) "INSERT INTO actual_amo_columns (pipeline_name, status_id, status_name) VALUES ('PIPELINE.RU', '28235989', 'Неразобранное')
 ON DUPLICATE KEY UPDATE `pipeline_name` = VALUES('PIPELINE.RU'),`status_id` = VALUES('28235989'), `status_name` = VALUES('Неразобранное')"
  • Вопрос задан
  • 43 просмотра
Решения вопроса 2
Melkij
@Melkij
PostgreSQL DBA
ON DUPLICATE KEY UPDATE. Сверяйте по буквам.

А если делаю ON DUBLICATE KEY UPDATE `pipeline_name` = '$pipelinename' ,
то записи дублируются

Удивительно. Верится слабо.
Ответ написан
theblackpost
@theblackpost Автор вопроса
Разобрался.
$query = "INSERT INTO actual_amo_columns (pipeline_name, status_id, status_name) VALUES ('$pipelinename', '$statusid', '$statusname')
 ON DUPLICATE KEY UPDATE `pipeline_name` = VALUES(`pipeline_name`),`status_id` = VALUES(`status_id`), `status_name` = VALUES(`status_name`)";


Но записи дублируются!

SELECT COUNT(`status_id`) FROM `actual_amo_columns` WHERE `status_id` = '30672256'


COUNT(status_id)
4
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
alexey-m-ukolov
@alexey-m-ukolov Куратор тега MySQL
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы