草庐IT

delete_keys

全部标签

mysql - "Alter ignore"+ "unique key"去重,mysql和sql server

我有一个表,其中包含1列的一些重复值,即表emailsidemail1test@test.com2test@test.com3more@most.many4cook@sheep.com我想删除ID为“2”的行。我想通过创建email的唯一索引来实现这一点,从而强制表删除冗余。我已经看到这里引用了这个方法(http://www.it-iss.com/mysql/sql-removing-duplicate-records/)和https://stackoverflow.com/questions/19000050/how-to-delete-first-of-a-double-recor

php - 如何知道 DELETE 查询是否真的删除了一行,使用 PDO

我正在使用PDO语句将DELETE查询传递给mysql。我想知道,查询是否真的删除了一行?我尝试使用$stmt->execute()的返回值functiondelete(){$stmt=$this->db->prepare("DELETEFROMusersWHEREid=:id");$stmt->bindValue(':id',$_POST[id]);var_dump($stmt->execute());}但是这始终给出true,即使没有行被删除。即使我没有发布任何值(value),甚至一次又一次地发布相同的值(value),这也是正确的。可能是因为查询成功并删除了0行,所以$stmt

php - Laravel 迁移 : Remove onDelete ('cascade' ) from existing foreign key

我创建了一个这样的迁移://...$table->foreign('a')->references('b')->on('c')->onDelete('cascade');//...我想在新迁移中删除onDelete('cascade')而不破坏任何东西。我该怎么做? 最佳答案 你可以尝试删除旧的外键并添加然后添加一个新的没有onDelete:$table->dropForeign(['a']);$table->foreign('a')->references('b')->on('c');

mysql - 我还应该索引包含在 PRIMARY KEY 中的列吗?

这个问题突然出现在我的脑海中……我有一个表根据它们的ID将另外两个表联系在一起。CREATETABLE看起来像这样:CREATETABLE`ticket_contact`(`ticket_id`INTNOTNULL,`entity_id`INTNOTNULL,`notify`INTNOTNULLDEFAULT0,PRIMARYKEY(`ticket_id`,`entity_id`),KEY`ticket_id`(`ticket_id`),KEY`entity_id`(`entity_id`))我想知道是否需要包括最后两行KEY。它会提高以下查询的速度,还是会自动为PRIMARYKEY中

MySQL - INSERT ON DUPLICATE KEY - 2列

我将记录我的用户登录时使用的IP地址。为此,我有一个包含3列的简单表格:用户、IP、时间。time是他们最后一次使用该地址登录的时间。当他们登录时,我想在数据库中插入一行,其中包含他们登录时使用的IP以及他们登录的时间。如果已经存在具有相同用户和相同ip的行,我只想更新时间。一个更一般的问题:如果行中有两列(或多列)相同,我该如何插入或更新它? 最佳答案 您只需要创建复合唯一键user+ip并使用INSERTONDUPLICATEKEYUPDATEINSERTINTOtbl(user,ip,`time`)VALUES(1,'1.2.

mysql - 如何将此 MySQL SELECT 查询转换为 DELETE 查询?

我想从数据库中删除某些项目。我有以下查询:SELECT*FROMsheets,entriesWHEREentries.sheetID=sheets.idANDsheets.clientID=13这有效,并返回2个结果。现在我想将此SELECT查询转换为DELETE查询。但是,以下内容不起作用:DELETEFROMsheets,entriesWHEREentries.sheetID=sheets.idANDsheets.clientID=13MySQL抛出以下错误:1064-YouhaveanerrorinyourSQLsyntax;checkthemanualthatcorrespon

mysql - DELETE + JOIN + ORDER BY + LIMIT = 语法错误

删除ORDERBY+LIMIT,或JOIN,一切都很好。将它们放在一起,我似乎可以释放Kraken。任何人都可以阐明一些问题?DELETEtable1ASt1FROMtable1ASt1LEFTJOINtable2ASt2ONt1.id=t2.idWHEREt2.field='something'ORDERBYt1.idDESCLIMIT5(Deleteusingaliases)我也尝试过不使用别名并删除WHERE,但无济于事。总是出现语法错误“near'ORDERBY...”。 最佳答案 来自Mysql文档:DELETEForth

php - 以编程方式检查 MySQL 的选项值(key_buffer_size、innodb_buffer_pool_size 等)

是否可以通过编程方式(通过SQL接口(interface)、CLI工具等)检查通常在MySQL服务器的my.cnf文件中设置的选项值?我怀疑我正在使用的服务器正在读取不正确的配置文件,我希望能够检查这些值的实际设置。 最佳答案 您可以通过SELECT语句访问它们,因为它们显示为globalsystemvariables.SELECT@@key_buffer_size;SELECT@@innodb_buffer_pool_size;--Withacolumnaliasyoucanusewhenfetchinganassociative

mysql - 这个 SQL DELETE FROM 语法有什么问题?

我正在尝试删除96k条记录。删除表xoops_bb_posts_text页面中没有匹配post_id到xoops_bb_posts的所有记录此查询成功返回91k条记录:SELECT*FROMxoops_bb_posts_texttWHEREnotexists(selectpost_idfromxoops_bb_postspWHEREp.post_id=t.post_id);当我试图删除这些记录时出现语法错误,但我没有看到它。DELETEFROMxoops_bb_posts_texttWHEREnotexists(selectpost_idfromxoops_bb_postspWHERE

php - MySQL: "error in your SQL syntax ... near key ..."?

关闭。这个问题是notreproducibleorwascausedbytypos.它目前不接受答案。这个问题是由于错别字或无法再重现的问题引起的。虽然类似的问题可能是on-topic在这里,这个问题的解决方式不太可能帮助future的读者。关闭8年前。Improvethisquestion我找到了一个非常酷的密码丢失脚本,但是这一行给我带来了麻烦$r=mysql_query('INSERTINTO`keys`(username,key,vreme)VALUES("'.$user.'","'.$acckey.'","'.$keyexp.'"')ordie(mysql_error());