【发布时间】:2011-04-27 02:08:36
【问题描述】:
我的程序非常简单,它在一列中插入相同的值,并在另一列中更新时间戳和日期。它还有一个自动递增的 ID 列,用作表的主键。
+-------+------------+------+-----+-------------------+-----------------------------+
| Field | Type | Null | Key | Default | Extra |
+-------+------------+------+-----+-------------------+-----------------------------+
| id | bigint(20) | NO | PRI | NULL | auto_increment |
| Power | float | YES | | NULL | |
| dt | timestamp | NO | | CURRENT_TIMESTAMP | on update CURRENT_TIMESTAMP |
+-------+------------+------+-----+-------------------+-----------------------------+
目前我被 id = 4000 Power = 40996 和 dt = recent date time 困住了
当我尝试运行将数据插入表中的命令时,我收到一条错误消息
键“主要”的重复条目“4971”
检查表:
+----------------+-------+----------+-----------------------------------------------------------+
| Table | Op | Msg_type | Msg_text |
+----------------+-------+----------+-----------------------------------------------------------+
| newdb.newmeter | check | warning | Table is marked as crashed |
| newdb.newmeter | check | warning | 19 clients are using or haven't closed the table properly |
| newdb.newmeter | check | warning | Size of datafile is: 68816 Should be: 68663 |
| newdb.newmeter | check | error | Found 4048 keys of 4039 |
| newdb.newmeter | check | error | Corrupt |
+----------------+-------+----------+-----------------------------------------------------------+
【问题讨论】:
-
插入 newdb.newmeter (Power) 值 (40997);
-
@piotrm 插入 newdb.newmeter (Power) 值 (40997);
-
@piotrm 抱歉,但我没有卡在 id 列中的 4000 而是它的 4970,所以下一个是 4971,这就是我遇到错误的地方。
-
您可以尝试检查您的表是否损坏 - CHECK TABLE newmeter;
-
@piotrm 感谢伙伴,我已经更新了我的帖子,答案看起来很糟糕。我该如何解决这个问题
标签: mysql duplicates