草庐IT

Update-Database

全部标签

php - HTML 表单 : Select-Option to insert data into MySQL phpmyadmin database

我有一个名为“add_report”的php文件,里面有一个表单。我所有的输入都在运行,我可以将数据输入我的数据库,但每次我使用选择选项时。我的数据库接受它为空。这是为什么?这是我的表格“add_report.php”Agency:FileName:FileType: pdfexcelwordDate:这是另一个php文件“add_report_backend.php”setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION);}catch(PDOException$exc){echo$exc->getMessage();ex

mysql - 如何知道 MySQL UPDATE 查询是否因为提供的信息与数据库中已有的数据相匹配而失败?

我有一个查询,其中用户在textarea字段中键入一段文本。他们能够将此信息保存在数据库中。问题是,如果他们没有更改信息,或者如果信息与数据库中已有的数据相匹配,我会收到受影响行的“0”。通常我会显示一个错误,表明在没有受影响的行时查询失败。我如何“知道”受影响的0行是因为数据已经存在,以便我可以显示更具体的错误? 最佳答案 您获得0行受影响的另一个原因是UPDATE语句不匹配任何行。例如:UPDATEMyTableSETfield='content'WHEREid=1234;如果不存在id=1234的行,则给出0个受影响的行。这也

php - SELECT/UPDATE 和 SELECT/INSERT 杀死 MySQL 服务器

我运行的服务器因来self们的一款iPhone游戏的用于存储分数的请求数量而被杀死。我的意思是服务器变得无响应。我真的只知道足够的MySQL/PHP来应付,所以我正在努力解决这个问题。我确信这是一个可以优化的问题,因为我们有专用服务器。我们每分钟只处理300个请求。基本上,我们检查某人从他们的iPhone游戏中发布的分数(使用SELECT)以查看他们是否有现有分数。如果他们这样做了,并且他们的新分数更好,我们会进行更新,否则我们会进行插入。语句如下所示:$sql="SELECTid,score,levelFROM$tableWHEREboard='$board'ANDname='$na

mysql - INSERT...ON DUPLICATE KEY UPDATE..... 有两个关键字段

我有一个包含三个字段的表字段一field_two字段三我想做一个插入/更新,但不是检查其中一个关键字段是否已经存在,我需要检查(field_one,field_two)组合是否已经在数据库中,如果是,然后更新插入。 最佳答案 在您的表(field_one,field_two)上创建唯一索引your_index_name(seedocs)并使用INSERT...ONDUPLICATEKEYUPDATE.MySQL会自动完成剩下的工作。 关于mysql-INSERT...ONDUPLICAT

database - 什么是排名系统的好设计

我有一个USER表,它有userId和point字段。在运行时,我想知道特定用户基于他们的观点的排名是多少。实现此目的的最佳方法是什么:1:查询所有用户到一个列表中。根据点对列表进行排序并进行二进制搜索以查找该用户的排名。这听起来像是个坏主意。2:是否可以通过创建数据库查询来完成这些任务?我预计有2000-5000个用户。 最佳答案 SET@rownum:=0;SELECTrank,userId,pointFROM(SELECT@rownum:=@rownum+1ASrank,userId,pointFROMuserORDERBYp

mysql - 为什么 ON DUPLICATE KEY UPDATE 语句将值增加 2 而不是 1?

什么会导致ONDUPLICATEKEYUPDATE语句将值增加2而不是1,这是我使用的SQL:INSERTINTObanner_view(banner_id,date,views)VALUES('10',CURDATE(),'1')ONDUPLICATEKEYUPDATEviews=(views+1)这是数据库架构:CREATETABLE`banner_view`(`banner_id`int(11)UNSIGNEDNOTNULL,`date`dateNOTNULL,`views`int(10)UNSIGNEDNOTNULL,PRIMARYKEY(`banner_id`,`date`)

mysql - node.js/node_mysql - 过时的连接得到 "NO database selected"错误

我们有一个使用node_msyql的node.js应用程序,一个用于访问MySQL数据库的很棒的小库。不幸的是,如果我们的连接可能有8-10个小时没有使用,下次我们尝试运行查询时,我们会从服务器返回一个“未选择数据库”错误。我们需要在某处添加一个"USEdb",但我不知道在哪里。现在,对我来说,连接会变得陈旧是有道理的,而且node_mysql似乎正在刷新那些陈旧的连接,但似乎没有办法确保连接了正确的数据库。我一直在寻找一个.connected()回调或事件,或者让我确保正确的数据库总是USE的东西,但到目前为止运气不好。有什么建议如何做到这一点? 最佳答案

mysql - 我如何重写这个 MySQL 查询,这样它就不会抛出这个错误 : You can't specify target table 'crawlLog' for update in FROM clause?

我正在尝试从companies表中获取一个ID,但该ID还不在crawlLog表中。然后我需要将该companyId插入到crawlLog表中。我需要在一次调用中执行此操作,这样并行爬虫就不会在其他爬虫选择了url但尚未将其插入爬虫日志后提取相同的url。我不想因为生成的其他问题而锁定表。我从下面的两个查询中得到这个错误:Youcan'tspecifytargettable'crawlLog'forupdateinFROMclause这是我尝试做同样事情的两个查询。INSERTINTOcrawlLog(companyId,timeStartCrawling)VALUES((SELECT

mysql - UPDATE 查询更改了没有 WHERE 子句但有 AND 子句的行 - 为什么?

我运行了以下查询,它应该有一个where子句但我忘了添加它:UPDATEtblFormElementInstancesasfeiJOINtblFormElementsasfeusing(intFormElementId)SETfei.intStep=1ANDfei.intDivisionId=1ORfei.intDivisionIdISNULL);MySQL返回以下消息:--查询成功,影响42行(0.06秒)--匹配行数:94更改数:42警告数:0我原以为它会抛出一个语法错误,但它并没有。此外,该表中有96行,具有不同的intDivisionIds(即不仅仅是1或NULL),这表明一些

mysql - 使用 PetaPoco Database.Insert<T> 插入 mysql 时出现问题

我有一个使用PetaPoco重新实现ASP.NET的MembershipProvider、RoleProvider和ProfileProvider的小项目。每个表都有两个公共(public)字段:name和lowered_name。当尝试使用Database.Insert()将新记录插入数据库时​​,我遇到了一个问题,无法插入lowered_name字段。例如,我们有一个名为Category的表CREATETABLE`category`(`name`varchar(100)NOTNULL,`lowered_name`varchar(100)NOTNULL,PRIMARYKEY(`low