草庐IT

key_value

全部标签

php - 语法错误或访问冲突 : 1067 Invalid default value for 'created_at'

我安装了laravel5.5,当我运行phpartisanmigrate时显示这个错误[Illuminate\Database\QueryException]SQLSTATE[42000]:Syntaxerrororaccessviolation:1071Specifiedkeywastoolong;maxkeylengthis767bytes(SQL:altertableusersadduniqueusers_email_unique(email))然后我在AppServiceProvider.php上添加以下代码publicfunctionboot(){Schema::defaul

PHP/MySQL : Updating nonexistent column value

所以,这个查询:mysql_query("UPDATEitemSETname='foo'WHEREname='bar'");返回1,但表中不存在值“bar”。正如预期的那样,数据库本身没有任何变化,但在这种情况下mysql_query()不应该返回0吗? 最佳答案 返回true,因为查询执行成功。如果您想知道更新了多少行,您必须使用mysql_affected_rows。 关于PHP/MySQL:Updatingnonexistentcolumnvalue,我们在StackOverflo

mysql - 修改 AUTO_INCREMENT PRIMARY KEY 进行分区

我需要在时态数据之间对MySQL表进行分区(下表中的字段开始)。CREATETABLE`table1`(`id`bigint(20)NOTNULLAUTO_INCREMENT,`fk_id`bigint(20)NOTNULL,`begin`bigint(20)NOTNULL,PRIMARYKEY(`id`),KEY`FK1E57078DB20EC268`(`fk_id`))ENGINE=MyISAMAUTO_INCREMENT=10443288DEFAULTCHARSET=latin1当我尝试这样划分时:altertabletable1partitionbyrange(begin)(P

如果 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 - 带有子查询 : Column count doesn't match value count at row 1 的 INSERT 查询

我有这个插入行的查询,使用像这样的子查询:INSERTINTOLecture_presence_Student(`presence_id`,`Lecture_id`,`Student_id`,`status`)VALUES((SELECT''aspresence_id,Lecture.Lecture_id,CourseEdition_students_Student.Student_id,'onverwerkt'FROMCourseEdition_students_StudentINNERJOINLectureONCourseEdition_students_Student.Cours

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 - 为什么我可以创建名为 "key"和 "value"的表列,但以后不能使用它们?

每日提示:像老板一样使用反引号!即使是您的笔迹!更新:如果您采纳了上述建议,则无需再阅读以下内容!说真的!问题:我对此有点恼火。我可以创建一个包含名为key和value的列的表,但是当我想使用这些列时,我会看到一个非常好的语法错误,解释这些是保留关键字用于MySQL。我的问题是:有人知道为什么会这样吗?为什么我一开始就没有收到语法错误?它有任何理由支持吗? 最佳答案 只有KEY是保留关键字:D。MySQLReservedKeywordsList只需用反引号将列名KEY包裹起来,这样您就可以使用它,例如SELECT`key`FROMt

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 - SQLSTATE[22007] : Invalid datetime format: 1292 Incorrect datetime value: '2008-03-30 02:56:12'

系统本地PHP5.6.19使用Laravel5.0制作的应用程序,使用fzaninotto/Faker作为播种器Mysql远程远程MySQLDebian8与MariaDB10.1.13-MariaDB-1~jessie运行播种机phpartisanmigrate:reset;phpartisanmigrate;phpartisandb:seedseeder添加不确定数量的用户后(每次重现报错都不同)报错:[Illuminate\Database\QueryException]SQLSTATE[22007]:Invaliddatetimeformat:1292Incorrectdatet