TLingC's Zone
TLingC's Zone

MySQL
文章归档

ThinkPHP 6 多模型下事务处理

mysql下,事务不是针对某个特定的表或者特定的模型的,因此在多模型的情况下,不需要针对每个模型分别startTrans、commit和rollback。即使模型中有继承startTrans方法,可以通过Model::startTrans();启动事务,但其作用等同于Db:startTrans();。因此可以直接写为以下形式。 通过测试,在出现异常时,通过图中自增值可看出(自增值在rollback时也会增加),三个模型尝试新增数据都被rollback。同时把Table3中的name字段改为test233的操作也没有成功。 <?php namespace app\cont…

400   2020-01-20  

MySQL Table doesn't exist in engine 解决方法

数据表设置了外键,在phpMyAdmin中显示该表使用中,点击访问表时提示Table doesn't exist in engine。 mysql日志显示: 2019-08-24 14:32:25 616 [Warning] InnoDB: Load table 'xxx' failed, the table has missing foreign key indexes. Turn off 'foreign_key_checks' and try again. 2019-08-24 14:32:25 616 [Warning] InnoDB: Cannot open table xxx from the internal data dictionary of InnoDB though the .frm file for the table exists. See http://dev.mysql.com/…

828   2019-08-24  

利用PHP把MySQL数据库内所有表编码转换为utf8mb4

<?php $mysql = mysql_connect(MYSQL_HOST,MYSQL_USERNAME,MYSQL_PASSWORD); if (!$mysql) echo "Failed to connect mysql!"; mysql_select_db(MYSQL_DBNAME,$mysql); $result = mysql_query("SHOW TABLE STATUS"); while($row = mysql_fetch_row($result)) { mysql_query("ALTER TABLE " . $row[0] . " CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci"); } ?>

232   2018-02-22