mysql - 没有 WHERE 子句的 UPDATE 查询不起作用;

标签 mysql sql

我遇到了这种奇怪的情况..我正在尝试执行和更新没有where子句的查询..这是查询

UPDATE `siteconfig` 
SET `homepagereview` = 'Justine Pope, London', 
`homepagetitle1` = 'Lorem ipsum dolor sit amet', 
`homepagecontent1` = 'Lorem ipsum dolor sit amet'

当我执行查询时,它根本不执行任何操作..我还插入了一行包含 NULL 值的行并执行了此更新查询,但仍然没有任何反应..!

这是表结构...

CREATE TABLE `siteconfig` (
    `homepagereview` VARCHAR(255) NULL DEFAULT NULL,
    `googleadsensecode` VARCHAR(255) NULL DEFAULT NULL,
    `analyticscode` VARCHAR(255) NULL DEFAULT NULL,
    `sliderimage1` VARCHAR(255) NULL DEFAULT NULL,
    `sliderimage2` VARCHAR(255) NULL DEFAULT NULL,
    `sliderimage3` VARCHAR(255) NULL DEFAULT NULL,
    `homepagetitle1` VARCHAR(255) NULL DEFAULT NULL,
    `homepagecontent1` VARCHAR(1000) NULL DEFAULT NULL,
    `homepagetitle2` VARCHAR(255) NULL DEFAULT NULL,
    `homepagecontent2` VARCHAR(1000) NULL DEFAULT NULL,
)
COMMENT='misc settings for website'
COLLATE='latin1_swedish_ci'
ENGINE=MyISAM;

最佳答案

您可以在代码前面加上:

SET SQL_SAFE_UPDATES=0;

SQL_SAFE_UPDATES为1时,不允许在不指定键列的情况下对表执行UPDATEDELETE命令。这样做主要是为了防止用户在忘记添加 WHERE 子句时意外删除表数据。

关于mysql - 没有 WHERE 子句的 UPDATE 查询不起作用;,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14546820/

相关文章:

如果记录在其他表中不存在,则 MySQL 更新

mysql 两列自增主键

php - mysql_num_rows 返回错误值

php - 拉维尔 5.1 : handle joins with same column names

mysql - 插入 MySQL 表或更新(如果存在)

php - 自动更新没有模型的表中的时间戳

mysql - 停止 MySQL 在 UNIQUE 约束中容忍多个 NULL

mysql - 如何在创建数据库语句中使用变量

mysql - SQL语句连接三张表

sql - SQL中 'AND'和 '&&'的区别