Страница 1 из 1

[MyISA] INSERT SELECT; UPDATE SELECT; DELETE SELECT

Добавлено: 2009-08-07 19:24:43
ProFTP
случайно увидел, что MyISA таблицы умеют в месте делать INSERT SELECT в одном запросе

будет ли работать вот такое UPDATE SELECT и DELETE SELECT:
(пока не работает)

Код: Выделить всё

DELETE FROM test1
WHERE id = (SELECT id
FROM
  test1
WHERE
  parent = :P
  
UNION
  
SELECT t1.id
FROM
  test1 t1 JOIN test1 t2
    ON t1.parent = t2.id
WHERE
  t2.parent = :P )

Код: Выделить всё

UPDATE test1
SET close = 1
WHERE id = (SELECT id
FROM
  test1
WHERE
  parent = :P
  
UNION
  
SELECT t1.id
FROM
  test1 t1 JOIN test1 t2
    ON t1.parent = t2.id
WHERE
  t2.parent = :P )

Re: [MyISA] INSERT SELECT; UPDATE SELECT; DELETE SELECT

Добавлено: 2009-08-08 14:47:30
ProFTP
а скажите можно сделать 2 DELETE и SELECT

чтобы получилоь, что-то вроде бы этого:
как это написать?

Код: Выделить всё


DELETE FROM test1 as t10
            FROM test2 as t11
WHERE t10.id = 
            t11.id =
....................??
(SELECT id
FROM
  test1
WHERE
  parent = :P
  
UNION
  
SELECT t1.id
FROM
  test1 t1 JOIN test1 t2
    ON t1.parent = t2.id
WHERE
  t2.parent = :P )