草庐IT

Insert-Update

全部标签

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 InnoDB "SELECT FOR UPDATE"- 跳过锁定等效

当我们在MySQL中使用InnoDB表进行“SELECTFORUPDATE”时,有什么方法可以跳过“锁定的行”吗?例如:航站楼t1mysql>starttransaction;QueryOK,0rowsaffected(0.00sec)mysql>selectidfrommytableORDERBYidASClimit5forupdate;+-------+|id|+-------+|1||15||30217||30218||30643|+-------+5rowsinset(0.00sec)mysql>同时,终端t2:mysql>starttransaction;QueryOK,0r

sql - 使用 SELECT 结果集通过 MySQL 存储过程运行 UPDATE 查询

我想了解MySQL存储过程,我想检查用户登录凭据是否有效,如果有效,则更新用户在线状态:--DROPPROCEDUREIFEXISTScheckUser;DELIMITER//CREATEPROCEDUREcheckUser(INin_emailVARCHAR(80),INin_passwordVARCHAR(50))BEGINSELECTid,nameFROMusersWHEREemail=in_emailANDpassword=in_passwordLIMIT1;--Ifresultis1,UPDATEusersSETonline=1WHEREid="result_id";END/

php - MySQL 插入行,重复 : add suffix and re-insert

我的问题比较复杂,但我想我应该试一试。简而言之,我想插入一行带有slug(带有字母和破折号的短字符串:this-is-a-slug)。问题是slug是一个唯一的键,可能有重复项。当存在重复项时,应该使用修改后的slug插入,例如带有后缀:this-is-a-slug-1,如果失败则增加后缀:this-is-a-slug-2。这是棘手的部分,它应该在MySQL中完成(不涉及PHP)并且最好在INSERT语句中完成(没有变量、过程等)我试过这样一个简单的解决方案:INSERTINTOtable(slug)VALUES(IF((SELECTCOUNT(slug)FROMtableWHEREs

mysql - UPDATE 语句的 where 子句中的子查询

我有ATM卡数据库,其中有字段account_no、card_no、is_blocked、is_activated、issue_date字段帐号和卡号不是唯一的,因为旧卡将过期并标记为is_block=Y而另一条具有相同卡号的记录,帐号将被插入到带有is_blocked=N的新行中。现在我需要在issue_date的帮助下更新is_blocked/is_activated即UPDATEcard_infosetis_blocked='Y'wherecard_no='6396163270002509'ANDopening_date=(SELECTMAX(opening_date)FROMc

php - mysqli_query INSERT无法正常工作

我正试图执行mysqli_查询以将值插入到数据库中,但它不起作用。mysqli_query($con,"INSERTINTO`temp`(`name`,`email`,`delivery`,`session`)VALUES('$name','$email','$delivery','$session'");有人知道我错在哪里吗?谢谢! 最佳答案 您在查询的末尾缺少一个):mysqli_query($con,"INSERTINTO`temp`(`name`,`email`,`delivery`,`session`)VALUES('$n

php - 错误 INSERT INTO MySQL 表

从w3schools学习PHP和MYSQL。一切正常,但是当我尝试在表中输入多个值时,它显示以下错误。ErrorINSERTINTOMyGuests(firstname,lastname,email)VALUES('John','Doe','john@example.com')INSERTINTOMyGuests(firstname,lastname,email)VALUES('Mary','Moe','mary@example.com')INSERTINTOMyGuests(firstname,lastname,email)VALUES('Julie','Dooley','julie

PHP/mySQL INSERT NULL 如果变量为空

我想检查$_POST中的变量是否为空并将NULL插入到我的数据库中。但是当我按照自己的方式操作时,我总是在我的数据集中得到一个名为NULL的字符串,而不是真正的NULL。我是这样尝试的:if(isset($_POST['folge'])){$comment=!empty($_POST['comment'])?"'".$_POST['comment']."'":null;$sqlstring="INSERTINTOeventstest(comment)VALUES(".$comment.")";echo$sqlstring;if($mysqli->query($sqlstring)===

mysql - 如何通过 PHP 中的存储过程获取 LAST_INSERT_ID

假设我在mysql中有一个存储过程,如下所示--------------------------------Procedurestructureforusp_insert_user_basic_info------------------------------DROPPROCEDUREIFEXISTS`usp_insert_user_basic_info`;DELIMITER;;CREATEDEFINER=`root`@`localhost`PROCEDURE`usp_insert_user_basic_info`(IN`user_first_name`varchar(200),IN

MySQL Trigger Insert After with Select 来自不同表的查询

DBA新手,感谢您的耐心等待。概述:我有组、子组和用户。用户可以是组的所有者,因此应该是其所有子组的所有者用户可以是群组的协作者或追随者,因此应该是其所有子群组的协作者或追随者用户可以是子组的协作者或追随者表格如下(已简化):群组(topic_id,title)子组(subtopic_id,title,topic_id)rel_Group(用户ID、主题ID、类型)//确定用户与组的关系(所有者、协作者或关注者)rel_Subgroup(用户ID、子主题ID、类型)//确定用户与子组的关系(所有者、协作者或关注者)用户(user_id)我想在创建子组时创建一个触发器,该触发器将在rel