草庐IT

auto-update

全部标签

mysql - Laravel 5.5 与 MySQL 8.0.11 : 'sql_mode' can't be set to the value of 'NO_AUTO_CREATE_USER'

我刚刚安装了MySQL8.0.11,将我的应用程序的数据库转移到其中,并更改了laravel数据库设置以使用新的。现在每次我尝试登录时都会收到以下错误:ERROR1231(42000):Variable'sql_mode'can'tbesettothevalueof'NO_AUTO_CREATE_USER'我尝试手动设置NO_AUTO_CREATE_USER:setglobalsql_mode="...,NO_AUTO_CREATE_USER,...";但我得到了同样的错误。我该如何解决问题并使用MySQL8.0.11运行laravel5.5? 最佳答案

mysql - 为什么auto_increment id不一一增加,怎么设置呢?

我有一个MariaDBGalera集群(3个节点),我将uid设置为自动增加并作为表的主键`uid|int(11)|NO|PRI|NULL|auto_increment`.MariaDB[hello_cluster]>selectuidfromtableorderbyuidlimit10;+-----+|uid|+-----+|3||6||9||12||15||18||21||24||27||30|+-----+我试过下面的命令,还是不行altertableuidAUTO_INCREMENT=1 最佳答案 这是设计使然,在Maria

mysql - 插入多行时如何使用 "ON DUPLICATE KEY UPDATE"增加 MySql 中的字段?

插入多行时如何使用“ONDUPLICATEKEYUPDATE”增加MySql中的字段?一行:INSERTINTOtable(a,counter_elem)VALUES(1,1)ONDUPLICATEKEYUPDATEcounter_elem=counter_elem+1;对于多行:INSERTINTOtable(a,counter_elem)VALUES(1,1),(2,1)ONDUPLICATEKEYUPDATEcounter_elem=?;这不起作用:counter_elem=VALUES(counter_elem)+1 最佳答案

mysql - 如何从现有列中删除 ON UPDATE CURRENT_TIMESTAMP?

我做了一个mysql5.5数据库的转储并将其加载到5.6服务器中。转储将ONUPDATECURRENT_TIMESTAMP添加到一堆以前没有的列中。我正在搜索将删除ONUPDATECURRENT_TIMESTAMP规则而不进行任何其他更改的ALTERTABLE语句。在我的想象中,它应该类似于ONUPDATENOOP或ONUPDATENO_CURRENT_TIMESTAMP。ONUPDATEJUST_BE_A_NORMAL_COLUMN?我尝试在mysql工作台中使用“清除默认值”选项,但它做了与应该做的相反的事情-它给了列一个默认值!我能够使用ALTERTABLEtALTERCOLUM

php - MySql 中的 REPLACE、INSERT、UPDATE 有什么区别?

很难说出这里要问什么。这个问题是模棱两可的、模糊的、不完整的、过于宽泛的或修辞的,无法以目前的形式得到合理的回答。为了帮助澄清这个问题以便可以重新打开它,visitthehelpcenter.关闭10年前。谁能解释一下MySql中REPLACE、INSERT和UPDATE的区别? 最佳答案 这些是完全不同的说法。Insert:插入新记录更新:更新现有记录Replace:工作方式与INSERT完全相同,只是如果表中的旧行与PRIMARYKEY或UNIQUE索引的新行具有相同的值,则旧行是在插入新行之前删除干杯!普拉萨德。

mysql - 在 MySQL 中使用 IF() 和 ON DUPLICATE KEY UPDATE

我有一个运行MySQL查询的PHP脚本。$query="INSERTINTOtable(col1,col2)VALUES('$val1','$val2')ONDUPLICATEKEYUPDATEcol2=IF(ISNOTNULL'$val1','test','col2)";这是我想要做的:Col1是主键。如果有重复,它会检查col2的插入值是否为空。如果不是,它将更新该值,否则该值将保持不变。此插入失败。当我尝试在sqlyog中手动运行它(插入实际值代替变量)时,出现以下错误:错误代码:1064YouhaveanerrorinyourSQLsyntax;checkthemanualth

mysql - 撤消 mysql UPDATE 命令

我试图在MySQL服务器上进行更新,但不小心忘记添加一个应该编辑一行的额外WHERE子句。由于我的错误,我现在编辑了3500多行。我可能有备份,但自上次备份以来我做了很多工作,我只是不想因为1个错误的查询而浪费这一切。请告诉我有什么办法可以解决这个问题。 最佳答案 如果您提交了交易,那么是时候清理备份了,抱歉。但这就是备份的目的。我自己也做过类似的事情……一次。 关于mysql-撤消mysqlUPDATE命令,我们在StackOverflow上找到一个类似的问题:

mysql - 使用 UUID 时,是否也应该使用 AUTO_INCREMENT?

我们正在构建一个新的网络应用程序,该应用程序将在许多本地设备上提供离线iPad/Android应用程序版本,这将涉及插入新数据。因此,我们需要使用UUID以允许与主数据库进行必要的双向同步。为此,我们将UUID存储为BINARY(16)主键。我研究后了解到的问题是,非顺序主键插入所需的时间会随着时间的推移而增加,并且这些插入会导致碎片(如回答here)。AUTO_INCREMENT的好处是新行通常只会添加到表的末尾,因此不会遇到UUID的速度问题。我的问题是使用AUTO_INCREMENT列作为主键然后将UUID列作为非空唯一索引是否更好?据推测,这将具有顺序插入的速度优势,同时保留同

Mysql:创建表查询中的 'AUTO_INCREMENT=5' 是什么?

我有一个创建表查询,其中最后一个子句表示AUTO_INCREMENT=5有人能解释一下这是什么意思吗?下面是创建表MySQL查询的示例CREATETABLEIFNOTEXISTS`uploaderdata`(`id`int(11)NOTNULLAUTO_INCREMENT,`mdn`varchar(13)NOTNULL,`service_request_id`varchar(10)NOTNULL,`carrier`varchar(160)CHARACTERSETutf8COLLATEutf8_unicode_ciNOTNULLDEFAULT'CHT',`firstname`varcha

mysql - 尝试使用 REPLACE 和 AUTO_INCREMENT 执行 LOAD DATA INFILE

我正在尝试将一个文件加载到MySQL数据库中,主键为auto_incremented,如果我发现任何重复的行,我希望更新数据。但是,REPLACE关键字仅适用于自动生成的主键,所以我被卡住了。如何能够拥有一个ID自动递增的表,同时能够使用LOADDATAINFILE从文件中插入/更新数据?这是表格CREATETABLE`oxygen_domain`.`TEST`(`TEST_ID`int(11)NOTNULLAUTO_INCREMENT,`NAME`varchar(255)NOTNULL,`VALUE`varchar(255)DEFAULTNULL,PRIMARYKEY(`TEST_I