草庐IT

update_query

全部标签

php - MySQL 错误 : Can't create table (errno: 121 "Duplicate key on write or update")

我使用MySQLWorkbench为数据库生成图表和代码。当我将代码放入phpMyAdmin时,它显示错误(#1005-无法创建表wypozyczalnia。wypozyczenie(errno:121"Duplicatekeyonwriteorupdate"))问题出在哪里?:(外键-表wypozyczenie错误来自这部分代码:CREATETABLEIFNOTEXISTS`wypozyczalnia`.`wypozyczenie`(`id_wyp`INTNOTNULL,`data_wyp`DATENOTNULL,`data_odd`DATENOTNULL,`id_samochod`

php - SQL_CALC_FOUND_ROWS 和 SELECT FOUND_ROWS() on UNION query (not UNION ALL) with LIMIT

我正在尝试计算在没有设置全局LIMIT的情况下将返回的总行数。这是我的查询:SELECTSQL_CALC_FOUND_ROWS*FROMtable1WHERE[...]UNIONSELECT*FROMtable2WHERE[...]UNIONSELECT*FROMtable3WHERE[...]UNIONSELECT*FROMtable4WHERE[...]LIMIT0,30然后我立即执行SELECTFOUND_ROWS()查询。它总共返回35行,但它应该返回总共400行。知道如何在不使用UNIONALL的情况下计算行数吗? 最佳答案

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/

MySQL - Perl : How to use an array with IN within a select query?(在(@array)中)

这是我在这里解决的问题的补充:howtogetarrayofzipcodeswithinxmilesinperl好的,我有数组@zips。现在我正尝试在这样的查询中使用它:SELECT`club_name`,`city`FROM`table`WHERE`public_gig`='y'AND`zip`IN(@zips)#Ialsotriedsyntax"IN("@zips"),IN@zipsandIN('@zips')"但是,我无法让它工作。(我正在使用占位符,如您在上面的链接中看到的那样。)我能够让它工作:$fzip=shift(@Zips);$lzip=pop(@Zips);SELE

MySQL预订网站: query/db optimization

我在大多数查询中的表现都非常糟糕。我已经阅读了很多关于stackoverflow的内容,但仍然有一些问题,也许有人可以帮助我或给我任何提示?基本上,我在一个预订网站上工作,其中包括以下表格:对象+----+---------+--------+---------+------------+-------------+----------+----------+-------------+------------+-------+-------------+------+-----------+----------+-----+-----+|id|user_id|status|type_

php - Sphinx_Query 失败 : no enabled local indexes to search

您好,我在我的测试服务器中配置了sphinx搜索。现在我收到这种错误“Sphinx_Query失败:没有启用本地索引来搜索”。我不明白为什么会出现这个错误。任何人都可以帮助我。这是我的sphinxsourceobjectcollection{type=mysqlsql_host=localhostsql_user=rootsql_pass=rootsql_db=mydatabasesql_port=3306sql_query=\SELECTid,idasmidobtype_id,searchtextfromtab_objectcollection;sql_attr_uint=midsq

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 - 回显来自 mysql_query 的所有结果

这个问题在这里已经有了答案:mysql_fetch_arrayaddallrows?(2个答案)关闭9年前。我正在尝试创建一个函数来查询数据库并输出数组中的所有结果。由于某种原因,它只显示一个结果。这是函数functionreguser_list(){$query=mysql_query("SELECT`user_name`FROM`users`WHERE`active`=1");$reguser_names=mysql_fetch_assoc($query);$list_names=implode(',',$reguser_names);echo$reguser_names;}数据库