草庐IT

Constraints

全部标签

mysql - 如何在 3 个表之间限制标签

我正在开发标签系统,它应该做的是您可以查询和选择标签,例如jquery和javascript标签,library。它应该只显示与查询相关的脚本,并且只显示具有标签的脚本。这是数据库布局:脚本表:+-----------+---------------+|script_id|name|+-----------+---------------+|1|jQuery||2|SenchaTouch||3|Codeigniter||4|GoogleChrome||5|memcached||6|PHP||7|MooTools||8|node.js||9|jQueryMobile|+---------

mysql - 避免原子事务中的唯一违规

可以在MySQL中创建原子事务吗?假设我有包含这些行的表“类别”:id|name--|---------1|'tablets'2|'phones'name列是我的主键。如果我尝试:STARTTRANSACTION;update"category"setname='phones'whereid=1;update"category"setname='tablets'whereid=2;COMMIT;我得到:ERROR:duplicatekeyvalueviolatesuniqueconstraint"category_name_key"DETAIL:Key(name)=(tablets)a

mysql - ON DUPLICATE KEY UPDATE 导致外键约束错误

我搜索了StackOverflow,但找不到我的具体问题的答案。最近我非常喜欢用列表更新记录,使用“INSERTINTO...ONDUPLICATEKEYUPDATE”。但是,我遇到了以下查询的问题:INSERTINTOitens(prod_id,qtd)VALUES(410,1),(442,-1)ONDUPLICATEKEYUPDATEqtd=qtd+VALUES(qtd)这导致错误:“无法添加或更新子行:外键约束失败。”这是有问题的表的结构。“carrinho_id”是一个外键。我对我没有尝试使用外键做任何事情这一事实感到困惑。我只是想更新数量。CREATETABLEIFNOTEX

mysql - 使用关系将ms Access 转换为mysql

我尝试过一些工具(比如mysql迁移工具包和bullzip的mysql访问实用程序)将ms-access数据库转换为mysql,这些工具都成功地创建了数据库、表和插入数据。他们似乎没有做的是将关系(constants)从原始ms-access数据库重新创建到mysql中。是否有任何实用程序可以用正确的关系重新创建数据库、表和数据?谢谢 最佳答案 是的,有一些工具可以帮你:AccesstoMySQLAccess-MySQLConverter3.1(阅读下面杰瑞的评论)我总是会小心使用这些工具进行转换,尤其是关系-你永远不会知道他们是否

MySQL 无法为表添加外键约束

我在向我的数据库添加外键约束时遇到问题。我在所有表上运行InnoDB引擎,并确保两个表中的数据类型和大小相同。此外,我尝试过使用MySQL命令行、phpMyAdmin和MySQL工作台,但没有成功。由于在MySQLworkbench中不允许我检查索引列,也不允许我选择引用列,因此我忽略了另一个问题。还有什么我应该寻找的吗?我在几乎所有表中都有测试数据,这有关系吗?编辑:根据文档,当我确实看到错误时,通常是“#1005-Can'tcreatetable'db_name.#sql-43d_8e'(errno:150)”,这是关于数据不匹配的问题。.否则MySQLWorkbench不会让我这

mysql - 重命名 MySQL 上的主键约束

我认为这可能是MySQL的错误,但我不确定。任何人都可以告诉我如何为表创建主键然后重命名主约束?如果可能,已经在创建表时使用所需的名称创建了主键。我创建的所有主键都以名称“Primary”结尾。已经尝试在添加PK之前创建具有所需名称的索引,并使用MySQLWorkbench重命名PK。它们都不起作用。有人知道哪里出了问题,为什么我不能重命名PK名称?谢谢! 最佳答案 我不确定MySQL是否允许首先给主键命名。虽然似乎有一个语法:CREATETABLEtest(test_idINT(10)UNSIGNEDNOTNULLAUTO_INC

php - MySql NOT NULL 约束不起作用

我正在尝试在创建为以下内容的客户表中实现NOTNULL约束:CREATETABLECUSTOMER(cust_idINT(5)NOTNULLAUTO_INCREMENT,PRIMARYKEY(cust_id),first_nameVARCHAR(25)NOTNULL,last_nameVARCHAR(25)NOTNULL,emailVARCHAR(25)NOTNULL,passwordVARCHAR(25)NOTNULL,genderVARCHAR(1)NOTNULL,cityVARCHAR(25)NOTNULL,dobDATENOTNULL,pinINTNOTNULL);在这个表单之

mysql - 触发静默忽略/删除 INSERT 上的重复条目

我有下表:T(ID主键,A,B)我希望(A,B)对具有唯一性,但我不想对它们设置唯一性约束(A,B),因为它会在插入时出错。相反,我希望MySQL默默地忽略此类插入。我不能使用“insertonduplicatekeysignore”,因为我无法控制客户的查询。那么,我可以构建这样的触发器吗?或者可能存在一些允许静默忽略的约束?编辑:我四处寻找,我想我想要像SQLite的"RaiseIgnore"这样的东西声明。 最佳答案 mysql5.5之前。不可能停止触发器内的插入。那里有一些丑陋的解决方法,但我不会推荐任何东西。从5.5开始,

安卓约束布局中Missing Constraints in ConstraintLayout错误解决方法

安卓中有时需要在约束布局中添加组件,比如将Button直接拖到Design中,此时在左下方会出现一个红色的感叹号,也就是报错了,点开可以看到“MissingConstraintsinConstraintLayout”如下所示:解决方法:单击Button,会发现Button的四周出现了四个圆圈,然后我们先拖动Button右侧的圆圈到右边界,再拖动左侧的圆圈到左边界,以此类推,上下两条边上的圆圈也分别拖到边界上。拖动完成后,我们可以看到Button四周多了四条折线,而原本的错误就消失啦!  

MySQL - 删除级联约束没有正确完成它的工作

我有几个表:users充满了用户。item已装满项目。item可以有多个second_item。users可以通过表users_items拥有second_item。当我删除一个item时,所有second_item和users_items也应该被删除。所以我设置了一些应该删除子表记录的约束。但是它在users_items中留下了记录。这是我的MySQL查询:CREATETABLE`item`(`id`int(10)UNSIGNEDNOTNULL,`name`varchar(63)DEFAULTNULL)ENGINE=InnoDBDEFAULTCHARSET=latin1;INSERT