草庐IT

drop-duplicates

全部标签

mysql - magento SQLSTATE [23000] : Integrity constraint violation: 1062 Duplicate entry '363624' for key 'PRIMARY'

我已经迁移了一个mgento安装,执行以下操作:复制所有文件导出数据库使用mysqlworkbench导入数据库将base_url更改为新域将local.xml更新为正确的设置现在我得到:SQLSTATE[23000]:Integrityconstraintviolation:1062Duplicateentry'363624'forkey'PRIMARY'我已经在数据库中搜索了这个键363624,但它没有像消息中所说的那样重复我该如何解决这个问题? 最佳答案 这对我有帮助(清除了一些表格):输入您的Magento数据库并运行以下s

mysql - DROP DATABASE 使 mysql 服务器崩溃

当我想删除我的数据库时遇到了一个小问题。当我执行时:DROPDATABASE`mydb`;MySQL返回:ErrorCode:2013.LostconnectiontoMySQLserverduringquery(从phpmyadmin执行,我断开连接并重定向到登录名/密码)问题可能是一个fantom表。如果我执行:CHECKTABLE`mydb`.`mytable`我有:ErrorCode:1146.Table'mydb.mytable'doesn'texist但是如果我执行:CREATETABLEIFNOTEXISTS`mydb`.`mytable`...我有:ErrorCode:

java - 在 JOOQ 的 ON DUPLICATE KEY 中返回 id

我真正想要的是在JOOQ中编写以下查询:stmt=connection.prepareStatement("INSERTINTO`tbl`(`name`,`service_id`,`device_id`)VALUES(?,?,?)ONDUPLICATEKEYUPDATE`id`=LAST_INSERT_ID(`id`)",Statement.RETURN_GENERATED_KEYS);我无法在JOOQ中找到执行此操作的方法。可能吗? 最佳答案 目前(从jOOQ3.4-3.6开始),由于jOOQ的INSERTAPI存在缺陷,这是不可

没有唯一列的 MySQL 'UPDATE ON DUPLICATE KEY'?

人们对执行以下查询的性能最有效的方式有何看法:3列表如果col_1和col_2值的组合已经存在UPDATEcol_3elseINSERT新行我假设我需要某种ifUPDATEONDUPLICATEKEY(我以前从未使用过),但是我没有“KEY”而是一对两个值(列)来制作一个键... 最佳答案 您可以在MySQL的多个列中创建一个PRIMARY或UNIQUE键(称为组合键),这将允许ONDUPLICATEKEY工作得很好。//createacompositeindexCREATEINDEXmy_composite_indexONmy_t

MySQL 出现 DROP USER;但用户仍然存在于 mysql.users 表中

我刚刚在MacOSX10.6.6上安装了MySQL社区服务器(5.5.8)。我一直遵循安全安装​​规则(为root分配密码、删除匿名帐户等),但是,有一个用户帐户我无法删除:mysql>selecthost,userfrommysql.user;+--------------------------------+------+|host|user|+--------------------------------+------+|127.0.0.1|root||::1|root||My-Computer-Hostname.local|||My-Computer-Hostname.loc

mysql - INSERT 并返回 ID,或者如果 DUPLICATE KEY 返回 MySQL 中的现有 ID

我有一个“tags”表,它在“tags”列上有一个UNIQUE,以防止重复。我有一个“bookmarks_tags”表,它将书签与标签关联起来,它在“bookmark_id”和“tag_id”列上有一个UNIQUE,以防止重复。但是,我需要人们能够添加相同的标签,为此,我需要一些方法来检索现有标签的ID,以用作“bookmarks_tags”表中的引用。是否有一种编写INSERT的方法,以便在检测到重复项时返回该重复项的ID?或者,INSERT...SELECT是否更适合“bookmarks_tags”表?这里的关键是它必须在两种条件下都能工作;添加为新的,或检索旧的。此外,在这种情况

mysql - DROP USER 和从 mysql.user 表中删除一行的区别

我有一个数据库,在任何时间点都有数百个事件连接。当我使用DROPUSERsql语句删除用户帐户时,大约需要4秒,在此期间所有其他连接都处于“正在检查权限”状态。这意味着要删除1000个用户,我实际上会将数据库锁定4000秒的大部分时间,这是NotAcceptable。但是,我确实注意到,从mysql.users表中删除用户行是即时的。正在从mysql.users中删除一行吗?与使用DROPUSER相比有什么缺点?我是否在其他地方留下陈旧的行?是否存在传播问题?我很可能不得不走这条路,但我想知道我还需要做哪些其他清理工作。 最佳答案

MySQL 8 - DROP 或 ALTER 导致错误 3664 (HY000) : Failed to set SDI

ERROR3664(HY000):FailedtosetSDI'MyDatabase.MyTable'intablespace'mydatabase/mytable'.每当尝试DROP数据库或ALTER表时,我都会遇到此错误。我无法删除或更改我创建的任何表格。现在,真正有趣的是,这些错误仅在重新启动MySQL并随后(通过root用户)登录MySQL后出现。这是模式:以根用户身份登录MySQL。创建数据库并创建表。DROP数据库或ALTER表没有问题:)退出MySQL重新启动MySQL(停止然后启动)以根用户身份登录MySQL。尝试DROP数据库或我之前创建的ALTER表时出现错误366

php - MySQL ON DUPLICATE KEY 插入审计或日志表

有没有办法做到这一点?INSERTIGNOREINTOsome_table(one,two,three)VALUES(1,2,3)ONDUPLICATEKEY(INSERTINTOaudit_tableVALUES(NOW(),'Duplicatekeyignored')我真的不想为此使用PHP:(谢谢! 最佳答案 如果要考虑使用存储过程,可以使用DECLARECONTINUEHANDLER.这是一个例子:CREATETABLEusers(usernameVARCHAR(30),first_nameVARCHAR(30),last_

mysql - Insert ... on duplicate key update nothing 使用MySQL

我的问题是我在一张表上有多个唯一键。Insertignore不是一个选项,因为它会抑制错误。MySQL不支持语句外的任何类型的条件(例如if(cond)theninsertelsedon'tinsert)存储过程不是一个选项(我唯一可以使用if/else语句的地方)在重复键上可能会用新值更新键,但我希望唯一键不会更改,以防唯一约束失败。所以唯一的选择是重复只是不更新​​任何东西。有什么办法可以做到这一点?或者还有其他选择吗? 最佳答案 如果您希望ONDUPLICATEKEYUPDATE实际上不执行任何操作,只需将列值设置为现有值即可