mysql - mysql 更新问题 - 它更改了所有行

标签 mysql

我有这样设置的 mysql 历史表:

CREATE TABLE `history` (
`id` int(11) DEFAULT NULL,
`date` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
`user_id` int(11) DEFAULT '0'
 )

我运行了这一行:

 ALTER TABLE history ADD COLUMN removed int(11) DEFAULT '0';

但是当我运行这个时:

update history set removed=1 where user_id=1599;

我用随机值更改了所有行,并将日期重置为现在!

我认为表中有错误,但我现在不知道是什么。这套看起来不错......

最佳答案

由于 user_id 默认为“0”

这里你覆盖了 user_id 中的值,它弄乱了表格

那就这样吧

Create table history ( user_id int(11));

删除“默认'0'”。

关于mysql - mysql 更新问题 - 它更改了所有行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57937998/

相关文章:

mysql - 将 csv 文件中的数据插入表中

php - 在没有主键的 MYSQL 表上更新当前获取的 PHP 数组

php - 一次将数组mysql插入数据库

c++ - Mysql 与 C++ 不工作

MySQL - 每个单词的首字母大写

php - 查找 "a"行是否与 ORM 中的 "b"行有关系的最有效方法?

mysql - Amazon RDS MySQL 实例执行速度非常慢

mysql - ORDER BY id 基于 IN 内的 id

MySQL - 无法加载slow_log表

mysql - PHP 脚本中途停止?