我有一个MySQL表,其中id是主键并自动递增。
由于我有一个每分钟运行一次的cron作业(使用ON DUPLICATE KEY更新外部API中的统计数据),所以我在id列中发现了很多空白。我有一列是唯一的,很明显,这就是造成空白的原因。
例如,只有183行,但是对于id列,我已经在71511行了。
我运行的唯一选择查询类似于以下内容:
SELECT * FROM table WHERE member = '123' ORDER BY id DESC LIMIT 30
我不在乎这个数字很快就会上升,也不会在其他地方使用。我只是想找出它是否会导致查询随着时间的推移而变慢。
例如,
在我的sql中,我尝试删除重复的行,但只保留一个包含大量行的行,比如超过100,000行
mysql工作台镜像
Id Acc_#时间Lname文件名
6537 12345 20190101 john Tim
6537 12345 20190101 john Tim
6537 12345 20190101 john Tim
6537 12345 20190101 john Tim
6537 12345 20190101 john Tim
6538 54321 20190102鲍勃·詹姆斯
6538 54321 20190102鲍勃·詹姆斯
6538 54321 20190102鲍勃·詹姆斯
65
我有两张多语种文章的桌子。在第一个表中,我没有文本列(id、authorid、date等)。在第二个表中,我有文本列(标题、内容等)。
对于第一个表中的每一行,我可以在第二个表中有许多行。例如,对于被翻译成三种语言的文章,表2中有三行。
在表2中,列(Id)有表1的外键,这就是为什么它已经被索引了。我不能为表2唯一设置列id,因为它显然不是唯一的。但是,我不能像它所说的那样在工作台中编辑表2中的数据--没有主键或非空唯一键。
我在计划中所说的话:
Table1{
id
date
authorId
}
Table2{
id
title
content
languageId
}
所
我有一个来自MS-SQL的.sql文件,我试图将它从PHP-My-admin导入到MySQL中,但那里显示最大大小错误,我也将其从php.ini中更改,但显示相同的错误。我也尝试了从命令提示符,但在21行也显示错误。我在这里粘贴了21行到32行。我该怎么做呢。
DROP TABLE [dbo].[ACDProcessGradeSheet]
GO
CREATE TABLE [dbo].[ACDProcessGradeSheet] (
[ProcessID] int NOT NULL IDENTITY(1,1) ,
[SessionID] int NULL ,
[ExaminationID] in
我真的不知道REPLACE INTO是如何工作的。据我所知,如果有任何值与旧的行值匹配,它将删除该行并插入更新后的数据?
例如,我有一张桌子
+-------------+----------------+------+---------+
| name | value | city | address |
+-------------+----------------+------+---------+
| First book | a value | NY | NULL |
| second book | an other valu
我正在使用他们之间有Document table and Order table.The relationship is one to many。
文档创建后,用户可以将一些订单insert到该文档的Order table。当用户点击注册表button.But后,该表生效,用户可以对该文档进行编辑,可以更改、更新、删除订单。
当注册按钮点击它会影响到订单table.When编辑我想删除该文档的所有订单,然后插入again.But它对我来说似乎不太好,例如,如果有100个订单,用户只更改了1行,我不得不删除100行并再次插入100行,或者如果用户添加新订单,我必须删除100行并添加101行。
处