用mysql删除一行

时间:2011-08-10 12:30:48

标签: mysql sql sql-delete

我正在尝试删除richiestePreventivo的记录但是当我在phpmyadmin中执行此Sql代码时,我删除了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 个答案:

答案 0 :(得分:1)

可能此列是另一个表的外键,ON DELETE的外键属性没有CASCADE选项但是没有ACTION选项

答案 1 :(得分:1)

只要richiestePreventivo表的PK不是其他表的外键,你可以:

DELETE FROM RichiestePreventivo WHERE (idImpresa = 17)

我知道这在SQL Server中有效,但不确定它是否适用于您正在使用的数据库

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

当您必须连接多个表并使用别名时,第二个语句非常有用。

答案 2 :(得分:0)

尝试将值放在引号中,如下所示:

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