草庐IT

unique_constraint

全部标签

mysql - 如何在没有 UNIQUE 索引或 PRIMARY KEY 的情况下在 MySQL 中使用 ON DUPLICATE KEY UPDATE?

MySQL手册指出:IfyouspecifyONDUPLICATEKEYUPDATE,andarowisinsertedthatwouldcauseaduplicatevalueinaUNIQUEindexorPRIMARYKEY如果您有一个没有UNIQUE索引或PRIMARYKEY的表,但您不想为列(比如user_id)复制一个条目怎​​么办。有没有办法在MySQL中做到这一点? 最佳答案 INSERTINTO`table`(value1,value2)SELECT'stuffforvalue1','stuffforvalue2'

php - 选择 DISTINCT 或 array_unique?

你认为什么更快?SELECTDISTINCT(user_id)FROMmyTable;然后获取到$myArray。或者SELECTuser_idFROMmyTable;然后获取到$myArray并执行$myArray=array_unique($myArray);注意:user_id是一个FOREIGNKEYCONSTRAINT 最佳答案 为了提高速度和内存效率,您希望从数据库中返回最少数量的数据,而不是为了处理/内存效率而放置不必要的行。因此,在这种情况下,distinct是更好的选择。

mysql - 错误 1451 : 1451: Cannot delete or update a parent row: a foreign key constraint fails

我一直在寻找这个错误,偶然发现了几个性质相同的问题,但据我了解,他们似乎关心更新问题。我的源于删除条目。我的table是这样组成的:CREATETABLE`product`(`product_id`mediumint(8)unsignedNOTNULLAUTO_INCREMENTCOMMENT'representsuniqueidentifierforeveryexistingproducts',`code`varchar(20)NOTNULL,`name`varchar(45)NOTNULLCOMMENT'description',`price`decimal(11,4)NOTNUL

MySQL 错误号 : 150 "Foreign key constraint is incorrectly formed"

有谁知道为什么我会收到以下错误消息?errno:150"Foreignkeyconstraintisincorrectlyformed"CREATETABLEmeter(`code`CHAR(5)NOTNULL,`type`VARCHAR(30)NOTNULL,descriptionVARCHAR(30)NULL,location_codeCHAR(3)NOTNULL,CONSTRAINTpri_meterPRIMARYKEY(`code`),CONSTRAINTfor_meterFOREIGNKEY(location_code)REFERENCESlocation(`code`));

mysql - UNIQUE + INSERT IGNORE 如何工作?

我有这张表:CREATETABLE`recent_adds`(`id`INT(11)UNSIGNEDNOTNULLAUTO_INCREMENT,`trackid`INT(11)UNSIGNEDNOTNULL,`user`VARCHAR(255)NOTNULL,PRIMARYKEY(`id`))COLLATE='utf8_general_ci'而且我只想在trackd/user对尚未插入表中时插入数据。我知道有一种UNIQUE+INSERTIGNORE可以解决这种问题,但实际上我不太明白它是如何工作的。如果我执行此命令:ALTERTABLErecent_addsADDUNIQUEINDE

mysql - 错误 1452 (23000) : Cannot add or update a child row: a foreign key constraint fails for existing tables

将外键分配给现有表列时出现以下错误:ERROR1452(23000):Cannotaddorupdateachildrow:aforeignkeyconstraintfails(c_x_parsing.#sql-787_1,CONSTRAINT#sql-787_1_ibfk_1FOREIGNKEY(nct_id)REFERENCEScdb(nct_id))下面是我的查询:ALTERTABLEc_intADDFOREIGNKEY(n_id)REFERENCEScdb(n_id);虽然我的父表是cdbcdb,子表是c_int。请给我建议解决方案,因为我已经尝试过以下命令:ALTERTABL

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 - 我应该使用 "id"还是 "unique username"?

我正在使用PHP、AS3和mysql。我有一个网站。一个flash(as3)网站。flash网站通过php将成员(member)信息存储在mysql数据库中。在“成员”表中,我将“id”作为主键,将“用户名”作为唯一字段。现在我的情况是:当flash要显示成员的个人资料时。我的问题:Flash是否应该将成员“ID”或“用户名”传递给php以处理mysql查询?传递“id”或“username”有什么不同吗?哪个更安全?您推荐哪一个?我想在安全性和性能方面优化我的网站。 最佳答案 1)毫无疑问,这两者都不是它应该做的事情。2)ID可能

php - Symfony 2 + Doctrine : How to supress SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry

我查看了几篇文章,但找不到可行的解决方案。我的问题很简单:我有一个包含id、url和title的实体。URL应该是唯一的(在MySQLPDO中)。我成功地创建了实体和模式,没有任何问题。现在,当我遍历一些记录时,我会在每个记录上调用persist(),最后调用flush()。问题是,当我尝试为URL插入重复条目时,它给了我一个异常(exception)。如何抑制?当插入重复条目时,它应该跳过它并插入其余条目。不需要事件、ONUPDATE语句、触发器和所有花​​哨的东西。我已经trycatchpersist或flush()抛出的任何异常,但似乎无法正确地做到这一点。欢迎任何想法,谢谢!编

mysql - 错误 : Integrity constraint violation: 1052 Column

为什么我会收到这个?错误:SQLSTATE[23000]:违反完整性约束:1052字段列表中的“收藏夹”列不明确SQLQuery:UPDATE`twitter`.`tractions`AS`Traction`LEFTJOIN`twitter`.`profiles`AS`Profile`ON(`Traction`.`profile_id`=`Profile`.`id`)SET`Traction`.`favorites`=`favorites`+1,`Traction`.`errors`=`errors`+0WHERE`Traction`.`profile_id`=4AND`Tractio