MySQL удалить запись из объединенной таблицы - PullRequest
0 голосов
/ 08 января 2012

У меня проблемы с удалением записи из таблицы MySQL, которая присоединена к той, из которой я выбираю удаление.

Я выполняю следующую инструкцию удаления, установив флажок и нажав кнопку отправки в интерфейсе таблицы javascript на моем веб-сайте, который использует jos_fsdspremade.id в качестве ключа автоинкремента и типичного идентификатора удаления.

DELETE jos_fsdscart.*
FROM jos_fsdscart
LEFT JOIN jos_fsdspremade ON  jos_fsdscart.mfd = jos_fsdspremade.item_number
WHERE jos_fsdspremade.id = ( '<input name="jos_fsdspremade.id" multiple="y" />' )  AND jos_fsdscart.id4 = '<code type="user" />'

но ничего не удаляется из jos_fsdscart . журнал выглядит следующим образом:

Значение замены для атрибута 'id' равно '61'

executeQuery [начало: 0, лимит: 0] 'query1' ()

Код запроса: УДАЛИТЬ jos_fsdscart. * ОТ jos_fsdscart ВЛЕВО ПРИСОЕДИНЯЙТЕСЬ jos_fsdspremade ON jos_fsdscart.mfd = jos_fsdspremade.item_number ГДЕ jos_fsdspremade.id = ('') И jos_fsdscart.id4 = ''

Как видите, я пытаюсь удалить запись из таблицы jos_fsdscart на основе выбора из объединенной таблицы:

если это поможет, вот запрос mysql, из которого я выбираю в интерфейсе javascript:

SELECT
  `<output name="jos_fsdspremade.owner_id"  hidden="y" />`,
  `<output name="jos_fsdspremade.id" title="FSDS" width="70" text="view" type="next" query="24" task="showResults" linktype="open" sizex="980" sizey="730"  />`,
  `<output name="jos_fsdspremade.item_number" title=".pdf" width="70" text="SAVE" type="link" url="/menumanager/images/pdf/%s.pdf" />` ,
  `<output name="jos_fsdspremade.pic"  title="Image" type="link" linktype="img" url="/menumanager/images/preman/%s" sizex="30" sizey="30" width="65" />`,
  `<output name="jos_fsdspremade.title" title="Product Name" width="300" filter="y" />`,
  `<output name="jos_fsdspremade.brand" title="Brand" width="300" filter="y" />`,
  `<output name="jos_fsdspremade.manufacturer" title="Distributor" width="200" filter="y"/>`,
  `<output name="jos_fsdspremade.product_type" width="200" filter="y"/>` 
FROM jos_fsdspremade, jos_fsdscart
WHERE `published`=1 AND jos_fsdscart.mfd = jos_fsdspremade.item_number AND `id4` = '<code type="user" />' 
 ORDER BY `title`

1 Ответ

0 голосов
/ 08 января 2012

Я очень сомневаюсь, что у вас есть таблица mysql, построенная таким образом, что для id задано varchar, который будет принимать что-то вроде ("jos_fsdspremade.id" multiple="y" ).

Вам нужно получить идентификаторы из формы (там, где появляется идентификатор, можно выбрать) и передать их в запрос:

WHERE jos_fsdspremade.id = 1

или, если вы хотите сделать несколько идентификаторов:

WHERE jos_fsdspremade.id in (1, 2, 3)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...