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

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 '

我的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;
我用随机值更改了所有行,并将日期重置为现在


我想我在表格中有错误,但我现在不知道该怎么办。设置似乎很好…

因为用户id默认为“0”

在这里,您正在覆盖user_id中的值,这会弄乱表

那就这么做吧

Create table history ( user_id int(11));

删除“默认值“0”。

因为用户id默认为“0”

在这里,您正在覆盖user_id中的值,这会弄乱表

那就这么做吧

Create table history ( user_id int(11));

删除“默认值“0”。

但如果我想设置默认值,我怎么做?@Fox user\u id不能是默认值,因为它对每个人都是唯一的,对吧?但是如果我想设置默认值,我怎么做?@Fox user\u id不能是默认值,因为它对每个人都是唯一的,对吧?我用随机值更改所有行,并将日期重置为现在!”-不是用这段代码,你没有检查触发器吗?“我用随机值更改所有行,并将日期重置为现在!”-不是用这个代码你没有检查触发器吗?