草庐IT

Constraint

全部标签

mysql - 多行更新导致唯一的 "Integrity constraint violation"

我对变体表中的SKU列有唯一约束。我有一个表格,我可以在其中编辑具有相应SKU的多个变体。经典问题(question和question)如下(影响MySQL):假设您有两行值:SKU1SKU2如果您交换已编辑集合中的两个值,唯一验证将成功并且学说将发出两次更新。第一个会将SKU1设置为SKU2并将立即使唯一约束失效,因为存在重复值SKU2和SKU2.SKU1->SKU2(唯一约束失败)SKU2在Symfony2.3Form和Doctrine2.4中解决它的最佳方法是什么? 最佳答案 创建第三个值:SKU1-->_SKU1SKU2--

java - com.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityConstraintViolationException : Cannot add or update a child row: a foreign key constraint fails

当我想插入一些数据时,我经常遇到错误项目类@Entity@NamedQueries({@NamedQuery(name="Project.findAll",query="SELECTpFROMProjectp"),@NamedQuery(name="Project.findByTitle",query="SELECTpFROMProjectpWHEREp.title=:title")})publicclassProjectimplementsSerializable{@Id@GeneratedValue(strategy=GenerationType.IDENTITY)privatei

mysql - SHOW CREATE TABLE 输出中缺少外键约束

我发现SHOWCREATETABLE没有像我期望的那样显示外键约束。为了演示,这里有一个来自MySQLmanual的例子:CREATETABLEparent(idINTNOTNULL,PRIMARYKEY(id))ENGINE=INNODB;CREATETABLEchild(idINT,parent_idINT,INDEXpar_ind(parent_id),FOREIGNKEY(parent_id)REFERENCESparent(id)ONDELETECASCADE)ENGINE=INNODB;mysql>SHOWCREATETABLEchild\G****************

mysql - 外键的 `Constraint Symbol` 和 `index_name` 之间的区别

在AlterTable命令中添加外键的MySQL语法如下:ADD[CONSTRAINT[symbol]]FOREIGNKEY[index_name](index_col_name,...)CONSTRAINT符号和index_name有什么区别。据我所知,它们都是外键的命名方法,但我想应该还有更多的区别,谁能赐教? 最佳答案 [symbol]是一个约束名,如果指定,MySQL将创建名为[symbol]的外键和索引;在这种情况下,[index_name]将被忽略。第二个[index_name]是索引名。该索引是自动创建的。如果省略[s

mysql - 添加外键时 CONSTRAINT 关键字有什么用?

我不知道这两者之间有什么区别。CONSTRAINTfk_PerOrdersFOREIGNKEY(P_Id)REFERENCES..和FOREIGNKEY(P_Id)REFERENCES..只是命名,还是其他? 最佳答案 作为foreignkeysindicates上的MySQL手册,约束语法的CONSTRAINTsymbol_name部分是可选的:[CONSTRAINT[symbol]]FOREIGNKEY[index_name](index_col_name,...)REFERENCEStbl_name(index_col_nam

mysql - 在 MySQL 中创建 CONSTRAINT 时出现语法错误

第一个表创建没有问题:mysql>CREATETABLEnodes(->idvarchar(10)PRIMARYKEY,->usertext,->uidvarchar(10),->versiontinyint,->changesetsmallint,->timestamptimestamp->);当我尝试创建第二个表时,MySQL输出错误:mysql>CREATETABLEnode_tags(->idvarchar(10),->keytext,->valuetext,->typetext,->CONSTRAINTpk_node_tagPRIMARYKEY(id,key),->CONST

MYSQL 5.5 删除主键

我正在将我的quartz.net版本从1.0.3升级到2.0.2有一个数据库模式的迁移脚本,它是为MSSQL编写的,我正在尝试编写它的MYSQL版本。但是,我无法删除主键(我需要这样做)。脚本的原始MSSQL版本:ALTERTABLEBLOB_TRIGGERSDROPCONSTRAINTBLOB_TRIGGERS_PKEY;ALTERTABLEBLOB_TRIGGERSDROPCONSTRAINTBLOB_TRIGGERS_TRIGGER_NAME_FKEY;ALTERTABLESIMPLE_TRIGGERSDROPCONSTRAINTPK_SIMPLE_TRIGGERS;ALTERT

MYSQL: ALTER TABLE DROP FOREIGN KEY 基于 SELECT 结果

我有以下mysql命令来删除外键约束:ALTERTABLEnetwork_profileDROPFOREIGNKEY'FK98875604AC3BAD33';但我更愿意先使用SELECT语句来发现外键constraint_id,然后在ALTERTABLE命令中使用它,但一直没有成功。这可能吗?尝试过:ALTERTABLEnetwork_profileDROPFOREIGNKEY(SELECTconstraint_nameFROMinformation_schema.key_column_usageWHEREcolumn_name='mt_check_list'ANDtable_sche

php - "Integrity constraint violation: 1062 Duplicate entry"- 但没有重复的行

我正在将一个应用程序从nativemysqli调用转换为PDO。尝试向具有外键约束的表中插入行时遇到错误。注意:这是一个简化的测试用例,不应复制/粘贴到生产环境中。信息PHP5.3、MySQL5.4首先,这是表格:CREATETABLE`z_one`(`customer_id`int(10)unsignedNOTNULLDEFAULT'0',`name_last`varchar(255)DEFAULTNULL,`name_first`varchar(255)DEFAULTNULL,`dateadded`datetimeDEFAULTNULL,PRIMARYKEY(`customer_i

c# - 如何检查列是否已经是外键?

我有一个名为Person的表和一个名为ID的列如何检查ID是否已经是FOREIGNKEY因为我想用这段代码来实现它:ALTERTABLEPersonADDFOREIGNKEY(ID)REFERENCESJob(ID)ONDELETECASCADEONUPDATECASCADE但是如果ID已经是一个FOREIGNKEY,它会给出以下错误“可能导致循环或多个级联路径”,因为有两个级联的条件......如何检查这个字段是否是FOREIGNKEY以避免这个错误? 最佳答案 您想查看INFORMATIONSCHEMAView虽然它没有它应该的