оператор удаления sqlite с двумя внутренними объединениями

У меня возникла проблема с объединением массивов, в которых были как строковые, так и целые ключи. Было важно, чтобы целые числа также обрабатывались как строка, поскольку они были именами для полей ввода (как в размерах обуви и т. Д.).

Когда я использовал $data = array_merge($data, $extra);, PHP «переупорядочил» ключи. При попытке выполнить упорядочение целые ключи (я пытался с 6 - '6' - "6" даже (string)"6" в качестве ключей) получил переименование от 0 до n ... Если вы думаете об этом, в В большинстве случаев это было бы желательным поведением.

Вы можете обойти это, используя $data = $data + $extra;. Довольно прямо, но я не думал об этом сначала ^^.

0
задан Daniel 18 March 2019 в 18:20
поделиться

1 ответ

Я думаю, что вам нужно join в подзапросе:

delete from tags
where picture_id in (select p.id
                     from pictures p inner join
                          albums a
                          on p.album_id = a.id
                     where p.name = 'Me and Moshe Dayan' and
                           a.name = 'Me and VIPs'
                    ) and
      tags.user_id = 1  ;
0
ответ дан Gordon Linoff 18 March 2019 в 18:20
поделиться
Другие вопросы по тегам:

Похожие вопросы: