圆弧派博客 - 专注于网络技术 - phpMyAdmin
https://www.iarc.top/tag/phpMyAdmin/
-
导入mysql数据的时候提示Field * doesn't have a default value解决方法
https://www.iarc.top/323.html
2023-10-29T10:56:00+08:00
导入mysql数据的时候提示Field * doesn't have a default value解决方法问题概述在使用 Django 和 MySQL 5.7 的项目中,如果在 Linux 环境下导入数据时遇到错误提示“Field * doesn't have a default value”,这通常是因为 MySQL 的严格模式(Strict Mode)导致的。本文将提供解决这个问题的详细步骤。解决方案要解决这个问题,您需要修改 MySQL 的配置文件,具体步骤如下:找到配置文件:在宝塔面板的 MySQL 设置中,或者直接编辑 /etc/mysql/my.cnf 文件。修改 sql-mode:将 sql-mode 设置中的 STRICT_TRANS_TABLES 移除或注释掉:修改前:sql-model=STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION修改为:sql-mode=NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION重启 MySQL:保存配置文件后,重启 MySQL 服务以应用更改。同步模型到数据库:重新同步您的 Django 模型到数据库。出现此问题的原因在 MySQL 5.0.2 之前的版本中,MySQL 对非法值的检查较为宽松,并且会尝试将非法值转换为合法值。然而,从 5.0.2 版本开始,MySQL 提供了更严格的 SQL 模式,以确保数据的完整性。MySQL 默认行为与严格模式的区别在没有启用严格模式的情况下,MySQL 会尝试处理非法值,例如将 NULL 值插入非 NULL 列,或者将过大的数据插入数值列。而在启用严格模式后,MySQL 会拒绝这些非法值并抛出错误。STRICT_TRANS_TABLES 的工作方式对于事务性存储引擎,任何非法数据值都会导致整个语句回滚。对于非事务性存储引擎,如果错误出现在第一行,整个语句会被放弃。如果错误出现在后续行,MySQL 会调整数据值并给出警告。结论启用严格模式可以提高数据的准确性,但同时也可能导致导入数据时的错误。通过调整 MySQL 的 sql-mode 设置,您可以在保持数据完整性的同时,避免在导入数据时遇到不必要的问题。记得在修改配置后重启 MySQL 服务,并重新同步您的 Django 模型。
-
phpMySQL添加自增值和新表单元格无法编辑解决方法
https://www.iarc.top/174.html
2023-05-07T20:21:00+08:00
在刚创建数据表后,想用phpMyAdmin编辑表的时候,有没有遇到phpMyAdmin提示’当前所选内容没有包含唯一字段。单元格编辑、复选框、编辑、复制和删除无法正常使用’呢?这是表里面没有设置主键的原因已有的mysql数据表,希望增加一个自增的字段,并设置新数据的初始值,实际上不复杂,只是做个备忘。新表设置主键我们先添加一个int自增值字段,比如,我在表A里新增一个字段名为id、数据类型为INT的字段并将其设置为主键,所执行的SQL语句为:alter table A add column id int auto_increment primary key;语法格式如下:alter table 表名 add column 字段名 数据类型 auto_increment primary key;设置主键到’结构’选项卡,选中刚才添加的字段,选择’主键’,然后点确定就好了回到浏览,即可看到,已经可以进行编辑phpmysql给字段增加自增属性在mysql中,可以通过给字段添加“AUTO_INCREMENT”属性来给字段增加自增属性,语法“alter table 表名 add column 字段名 数据类型 AUTO_INCREMENT;”通过给字段添加 AUTO_INCREMENT 属性来实现字段自增长。语法格式如下:字段名 数据类型 AUTO_INCREMENT默认情况下,AUTO_INCREMENT 的初始值是 1,每新增一条记录,字段值自动加 1。一个表中只能有一个字段使用 AUTO_INCREMENT 约束,且该字段必须有唯一索引,以避免序号重复(即为主键或主键的一部分)。AUTO_INCREMENT 约束的字段必须具备 NOT NULL 属性。AUTO_INCREMENT 约束的字段只能是整数类型(TINYINT、SMALLINT、INT、BIGINT 等)。AUTO_INCREMENT 约束字段的最大值受该字段的数据类型约束,如果达到上限,AUTO_INCREMENT 就会失效。自增字段一般用于主键中。当主键定义为自增长后,这个主键的值就不再需要用户输入数据了,而由数据库系统根据定义自动赋值。每增加一条记录,主键会自动以相同的步长进行增长。
-
phpMyAdmin高级功能未激活解决方法、以及设置定时执行SQL语句
https://www.iarc.top/146.html
2023-01-19T01:15:00+08:00
解决phpMyAdmin高级功能尚未完全设置,部分功能未激活,这是我们登录到phpMyAdmin经常见到的问题,But要是有对高级功能(如定时事件)有需要了,那就不得不去将它激活了。PHPMyAdmin激活高级功能版本phpMyAdmin:4.9前期准备将phpMyAdmin文件夹中(你的phpMyAdmin安装路径,宝塔面板一般是在www/server中)/phpMyAdmin/sql/中的create_tables.sql下载到本地!第一步将create_tables.sql导入到phpMyAdmin导入后可能会报一下错,不过这并不影响第二步打开phpmyadmin文件夹下的“config.sample.inc.php”文件并复制,重命名为“config.inc.php”(如果已经有“config.inc.php”文件,直接修改即可)第三步将“config.inc.php”文件中的/ Storage database and tables /到/* End of servers configuration */之间的代码全部删除注释即可第四步注销phpmyadmin之后并重新登录。大功告成!这时再去看数据库工具栏里就多出来“事件、程序、设计器等功能”定时执行SQL语句1、首先查看计划事件是否开启:在phpmyadmin的SQL查询框中填入“show variables like '%scheduler%';”并执行当显示event_scheduler的“Value”为“ON”时,表示计划事件已开启;当显示event_scheduler的“Value”为“OFF”时,表示计划事件未开启。2、如果计划事件未开启,可按以下操作开启:到mysql配置文件my.cnf新增一项,在mysqld后面添加event_scheduler = on(或是event_scheduler = 1),保存后重启mysql服务器即可。在phpmyadmin的“事件”功能里,“事件计划状态”显示为“开”即计划事件已正常开启。3、添加定时任务在phpmyadmin的“事件”功能里,点击“新建”下的“添加事件”根据弹窗填写表格其中状态“ENABLED”为“启用”“DISABLED”为“不启用”“SLAVESIDE_DISABLED“为“在从库上不启用该事件“事件类型"RECURRING"为“循环执行”"ONE TIME"为“只执行一次”运行周期即根据需要选择执行的周期时间起始时间即开始执行的时间终止时间即结束时间,留空表示一直执行下去定义即执行的SQL语句用户按"数据库用户名@数据库地址"的格式填写最后点击"执行"即创建定时任务完成。最后这里记录下防以后踩坑!