php - MySQL:更新没有保证唯一字段的行

标签 php sql mysql database-design

我正在使用一个旧的 MySQL 表,它用作各种日志。看起来像

CREATE TABLE `queries` (
  `Email` char(32) NOT NULL DEFAULT '',
  `Query` blob,
  `NumRecords` int(5) unsigned DEFAULT NULL,
  `Date` date DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1;

现在,我需要能够UPDATE 这个表中的记录(不要问为什么,我不知道)。通常,我会这样做

UPDATE table SET ... WHERE unique_column = value

但在这种情况下,我没有可使用的唯一列。

是否有解决此问题的方法,或者我是否只需要插入放入一个漂亮的标准 INT NOT NULL AUTO_INCREMENT

最佳答案

UPDATE queries 
SET ... 
WHERE Email = value1 
  AND Query = value2 
  AND NumRecords = value3 
  AND Date = value4 
LIMIT 1;

关于php - MySQL:更新没有保证唯一字段的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3121466/

相关文章:

php - MySQL 查询不考虑 GROUP BY

sql - MySQL选择其中列不为空

mysql - SQL - 计算两行之间的差异并放入另一列

mysql - 在一个数据库列中设置两个索引

php - 通过 discord webhook 发送附件/文件

php - 引用:什么是变量作用域?哪些变量可从何处访问?什么是“ undefined variable ”错误?

php - 将多个 post 变量发送到另一个 javascript 文件

php - 用于应用程序文件的 Composer PSR-4

sql - JPA @ElementCollection 生成奇怪的唯一键

mysql - 在JBoss上部署spring应用程序时出错