草庐IT

Update-Database

全部标签

mysql - 自动将 INSERT 语句转换为 UPDATE 的简单方法?

我想使用mysqldump的输出来更新实时数据库中的条目。我不想先删除条目,简单的更新语句就可以了。有没有一种简单的方法可以将包含INSERT语句的mysqldump的输出转换为相应的UPDATE语句?这似乎是一个基本功能,所以我敢肯定有人创建了一个工具或想出了一个快速完成它的方法,这样人们就不必一直重新发明轮子,每个人都编写自己的脚本这个。编辑:我正在寻找一种通用解决方案,而不是我必须手动枚举实际表列的解决方案。这是一个一般性问题,所以我认为应该有一个独立于表的解决方案。 最佳答案 您可以将mysqldump数据恢复到新的临时数据

PHP PDO-MYSQL : How to use database connection across different classes

我对使用MYSQL的PDO有点陌生,这是我的两个文件:我有一个用于连接数据库的连接类:classconnection{private$host='localhost';private$dbname='devac';private$username='root';private$password='';public$con='';function__construct(){$this->connect();}functionconnect(){try{$this->con=newPDO("mysql:host=$this->host;dbname=$this->dbname",$this

mysql - 根据行在 MySQL 中是否存在执行 UPDATE 或 INSERT

在MySQL中,我试图找到一种有效的方法来在表中已存在行时执行更新,或者在行不存在时执行插入。到目前为止,我发现了两种可能的方法:最明显的一个:打开一个事务,SELECT查找该行是否存在,如果不存在则INSERT,如果存在则UPDATE,提交事务首先将INSERTIGNORE插入表中(因此如果该行已存在则不会引发错误),然后是UPDATE第二种方法避免了交易。您认为哪个更有效,有没有更好的方法(例如使用触发器)? 最佳答案 INSERT...ONDUPLICATEKEYUPDATE 关于

php - 如何在 Laravel 4 中使用 UPDATE 或 INSERT?

我正在Laravel4中构建一个应用程序,我需要运行多个查询作为UPDATE或INSERT查询,以避免在重复插入时违反PK。我一直无法找到任何方法来使用Laravel中的查询构建器来执行此操作。我可以修改数据库类或类似的东西吗?还是我只需要编写纯SQL语句? 最佳答案 现在我们可以使用User::updateOrCreate() 关于php-如何在Laravel4中使用UPDATE或INSERT?,我们在StackOverflow上找到一个类似的问题: htt

java - com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException : Could not create connection to database server

这个问题在这里已经有了答案:Can'tconnecttoMySQLfromJava:NullPointerExceptioninsideMySQLdriverconnectionlogic(5个答案)关闭4年前。我是刚开始学习数据库的新手。我有MySQLServer8.0.、Workbench8.0、Java连接器5.1.31、Java1.8本身。遵循新手如何开始的多个指南。原来如此。我在本地主机上有数据库,并通过工作台和Windows提示符成功连接到它。但是在我用java执行代码之后:DriversqlDriver=newFabricMySQLDriver();DriverManag

mysql - 通过 rake 任务访问 database.yml 信息

我正在尝试编写一个rake任务来将数据加载到我的数据库中。我的计划是做类似的事情system"mysql-ufoo-pbardatabase但我需要访问config/database.yml数据以获取用户、密码和数据库信息。诀窍是我不想“解析”这个文件,而是像rakedb:reset这样的任务一样访问这个信息。我该怎么做? 最佳答案 这会起作用。task:demo_using_db_config=>:environmentdodb_config=Rails.application.config.database_configurat

mysqlimport 问题 "set @@character_set_database=binary"阻止加载 json 值

我已经使用mysqlimport很长时间了,没有问题,现在随着mysql5.7添加了json数据类型支持,我正在尝试将mysqlimport与包含json数据的行一起使用。这是将使用mysqlimport导入的csv文件中一行的示例:column_A_value,column_B_value,[{"x":20,"y":"somename"}]注意最后一列的类型是json。现在使用mysqlimport如下:mysqlimport-uuser-ppass-hlocalhost--columns='col_A,col_B,col_C'--local--fields-terminated-b

python - mycursor.executemany UPDATE 未按预期工作

问题:我有一个用于抓取和网站的python脚本,它获取2个变量并将它们存储在2个列表中。然后我使用executemany来更新MySQL数据库,使用一个变量来匹配预先存在的行以将另一个变量插入。代码:Python脚本importmysql.connectorfrombs4importBeautifulSoupassoupfromseleniumimportwebdriverimporttime,remydb=mysql.connector.connect(host="host",user="user",passwd="passwd",database="database")mycurs

如果我使用 'after update' 但不使用 'after insert',MYSQL 触发器是否有效?

我编写了一个触发器,在对表a执行操作后向表b中插入一行。出于某种原因,如果我在“插入后”添加此触发器然后插入一行,它没有任何效果。但是,如果我将触发器添加为“更新后”并更新行,它确实有效。这是触发代码。当我将“AFTERUPDATE”替换为“AFTERINSERT”并进行插入时,插入新行时没有任何反应。创建触发器时我没有收到任何错误,并且我没有尝试更新设置触发器的同一个表。任何帮助表示赞赏!谢谢,仁droptriggerifexistsinsertUndecided;DELIMITER//CREATETRIGGERinsertUndecidedAFTERUPDATEONjiraissu

php - PDO UPDATE 似乎不存储引号?

我刚刚开始使用PDO方法,现在我被一个小问题困住了。如果我创建一个表单来将名字和姓氏插入数据库,我可以使用以下代码插入所有类型的特殊字符:try{$db=newPDO('mysql:dbhost='.$dbhost.';dbname='.$dbname,$dbuser,$dbpass);$db->exec("SETCHARACTERSETutf8");}catch(PDOException$e){echo$e->getMessage();}$query=$db->prepare("INSERTINTOusers(fname,lname)VALUES(:fname,:lname)");$