草庐IT

Update-Database

全部标签

如果 PRIMARY KEY 被 FOREIGN KEY 引用,则 MySQL REPLACE 的行为与 UPDATE 不同

我有两个表:CREATETABLE`category`(`category_id`int(10)unsignedNOTNULLAUTO_INCREMENT,`user_id`mediumint(8)unsignedNOTNULL,`name`varchar(20)CHARACTERSETasciiNOTNULL,`description`varchar(100)DEFAULTNULL,`repeat_interval`tinyint(3)unsignedNOTNULLDEFAULT'0',`color`mediumint(8)unsignedNOTNULL,PRIMARYKEY(`ca

mysql - 如何在 PDO 中使用 ON DUPLICATE KEY UPDATE 和 mysql?

详情我正在为新的或更新的许可证的到期做一个单一的插入。到期时间为插入日期起2年。如果检测到重复项,条目将更新,到期时间等于剩余到期时间加上2年。关于重复项,在下面的示例中,应该只有一行包含user_id=55和licence=commercial。表:licence_expiry--------------------------------------------------------|user_id|licence|expiry|--------------------------------------------------------|55|commercial|2013-

mysql - PHP/MySQL : batch update multiple values

我已经想出了如何在每条记录的值相同时使用以下方法进行批量更新:UPDATEtblSETcol1='foo1'WHEREidIN(1,2,3)如果我有一个逗号分隔的值字符串,与ID匹配,我可以进行批量更新以不同方式更新值UPDATEtblSETcol1='1,0,1'WHEREidIN(1,2,3)感谢您的建议:编辑:将数据发送到此查询的html页面由如下复选框组成:等最多20个盒子。在服务器端,发布的数组使用implode转换为逗号分隔的字符串,所以我最终得到两个字符串,1,0,1代表值,1,2,3代表id。但是用户最多可以从此页面选中20个框。也许我必须以某种方式操纵数组。请注意,在

mysql - 使用 Spring 的 "jdbc:initialize-database",如何使用存储过程运行脚本?

我使用的是Spring3.1.1.RELEASE、JUnit4.8.1和MySQL5.5。我想在每次测试前截断我所有的表数据,但在Spring中出现错误,即使我可以通过命令行正常执行以下脚本(truncate_tables.sql)......dropprocedureifexiststruncate_tables;delimiter#createproceduretruncate_tables()begindeclaretab_namevarchar(64);declaredonetinyintunsigneddefault0;declaretable_curcursorforsel

php - 何时在 SQL 查询中使用 FOR UPDATE?

这个问题在这里已经有了答案:MySQL'selectforupdate'behaviour(1个回答)关闭9年前。任何人都可以告诉以下sql之间的区别,SELECT*FROMTABLE对比SELECT*FROMTABLEFORUPDATE什么时候什么情况下需要使用ForUpdate如果我使用更新并停止,获取数据将花费更多时间。更新时发生了什么以增加时间。请告诉我发生在这件事上的整个过程。

php - 时间戳自动更新不适用于 ON DUPLICATE KEY UPDATE (PDO)

我有一个时间戳设置为自动更新的表格作品集。CURRENT_TIMESTAMPONUPDATECURRENT_TIMESTAMPPHP中的PDO语句不会导致时间戳更新。$statement=$this->connection->prepare("INSERTINTOfolio(publication,productId)VALUES(:publication,:productId)ONDUPLICATEKEYUPDATEid=LAST_INSERT_ID(id),publication=:publication,productId=:productId");遵循手动方法可行但不可取。$s

mysql - 出现错误 - 无法添加或更新子行 : a foreign key constraint fails for a legacy database in django

我最近从原始php移植到django,并且不得不将我的遗留数据库合并到其中。我使用inspectdb命令从数据库构建模型,一切正常。最近决定加入like和settofavorite功能。所以我添加了一个新表,如下所示。classSongCollection(models.Model):song_name=models.TextField()song_type=models.CharField(max_length=765)likes=models.IntegerField(default=0)classMeta:db_table=u'songcollection'classlikeSo

mysql - 如何创建一个 capistrano 任务来下载最新的 database_backup.tgz 并在本地导入?

我正在尝试使用类似于herokudb:pull功能的Capistrano任务,如果您熟悉的话。我有一个远程服务器。在该服务器上,我在/path/db_backups/文件夹中有一堆备份。在该文件夹中,每天都有数据库备份。我只想做在客户端计算机上下载最新的备份。解压它。将其导入本地mysql数据库。有人知道处理这个问题的好方法吗?有没有我不知道的gem?您手头有脚本吗? 最佳答案 我不确定是否有适合它的gem。我通常在capistrano(config/deploy.rb)上复制/粘贴此任务以从服务器中提取压缩数据库并将其存储在我的开

mysql - rake 数据库 :create error with mysql2 gem (Couldn't create database for {"adapter"= >"mysql2")

我试图在我的debian7机器上启动Rails4并与ruby​​2.0一起运行,但我在使用mysql2gem连接到mysql数据库时遇到问题。我已经使用下面的命令来设置周围的一切:\curl-Lhttps://get.rvm.io|bash-sstablervminstallrubyrvmuseruby--defaultrvmrubygemscurrentgeminstallrails--no-ri--no-rdocWhenItrytorunrakedb:createandI'mgettingthefollowerror:noimplicitconversionofFixnuminto

mysql - MySQL 中的 `UPDATE ... SET ... LIMIT`

我想更新特定范围的行,比如从30开始到50结束。我怎样才能做到这一点。我试过:UPDATEtabSETcol='somevalue'LIMIT30,50但这行不通。有什么方法可以更新这些行吗?我得到的错误是:Checkthemanual...fortherightsyntaxtousenear'50' 最佳答案 您的语句不是有效的MySQL语法并且它没有意义。语法的问题是update语句不支持偏移量(参见here)。逻辑上的问题是您没有orderby子句。MySQL在处理表时不保证表的顺序。所以“前”二十行和“后”二十行没有区别。为