Удаление строки с помощью mysql - PullRequest
1 голос
/ 10 августа 2011

Я пытаюсь удалить запись richiestePreventivo, но когда я делаю этот код Sql в phpmyadmin, у меня удаляется 0 строк:

DELETE FROM `RichiestePreventivo` as `p` WHERE (`p`.`idImpresa` = 17)

В richiestePreventivo У меня есть одна запись, содержащая:

id  idPrivato   idImpresa   data_invio
13  11          17          2011-08-25

my database

В чем проблема?

Ответы [ 3 ]

1 голос
/ 10 августа 2011

Может быть, этот столбец является внешним ключом для другой таблицы, а свойства внешнего ключа для ON DELETE не имеют параметра CASCADE, но имеют параметр NO ACTION

1 голос
/ 10 августа 2011

Пока PK таблицы richiestePreventivo не является внешним ключом какой-либо другой таблицы, вы можете:

DELETE FROM RichiestePreventivo WHERE (idImpresa = 17)

или

Я знаю, что это работает в SQL Server, ноне уверен, работает ли он в БД, которую вы используете

DELETE p FROM RichiestePreventivo as p WHERE (p.idImpresa = 17)

Второй оператор очень полезен, когда вам нужно объединить несколько таблиц и использовать псевдонимы.

0 голосов
/ 10 августа 2011

попробуйте поместить значения в кавычки следующим образом:

DELETE FROM RichiestePreventivo as p WHERE (p.idImpresa = "11")
...