【问题标题】:Mysql delete query deletes only two columns in a rowmysql删除查询只删除一行中的两列
【发布时间】:2010-01-11 04:27:17
【问题描述】:

我有一个结构如下的表,

    FIELD           TYPE          EXTRA
faciltiy_id         int          auto_increment(Primary Key)
hotel_id            int
facility_title      varchar(20)
facility_desc      varchar(300)

当我想删除带有特定facility_id 的行时,我使用代码,

DELETE 
FROM   $hotel_facilities
WHERE  facilities_id = '$facilities_id'";

但是,只有 facility_titlefacility_desc 字段被删除,而不是整行。如果我直接通过 phpmyadmin 在表上运行此查询,它可以正常工作。

谁能告诉我我做错了什么?

【问题讨论】:

    标签: php mysql sql delete-row


    【解决方案1】:

    但不是整行,只有 facility_title 和 facility_desc 字段被删除。如果我直接通过 phpmyadmin 在表上运行此查询,它可以正常工作...

    因为facilities_id 是一个INT,所以你不需要用单引号括起来:

    DELETE FROM {$hotel_facilities}
     WHERE facilities_id = {$facilities_id}
    

    但我认为真正的问题是正在调用 UPDATE 语句,而不是 DELETE 语句。主要是因为 DELETE 语句只删除整行,而不是特定列。

    您需要跟踪触发提交时调用的内容,并在执行之前打印到屏幕(使用echo 或通过Javascript,如果更方便的话)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-03-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多