当前位置: 首页 > wzjs >正文

家政服务网站建设站内推广方式

家政服务网站建设,站内推广方式,宁晋做网站,开发一个h5网站多少钱场景:A、B两个数据库有同样的一个T表,从A库T表导出数据、导入到B库T表,导入成功后发现T表中有一条数据和其他表数据关联不上了,通过排查才发现,T表中的id为自增主键,有一条数据的id为0,导入到B库…

场景:A、B两个数据库有同样的一个T表,从A库T表导出数据、导入到B库T表,导入成功后发现T表中有一条数据和其他表数据关联不上了,通过排查才发现,T表中的id为自增主键,有一条数据的id为0,导入到B库的T表后id不再是0,而是下一个自增值,所以其他表如果是如果该id来和T表关联,那自然是关联不上。

 PS:同一个表里面导出数据后再重新导入也会出现同样的问题。


一、实践一下

创建表:

CREATE TABLE `dept` (`id` int(10) unsigned NOT NULL AUTO_INCREMENT,`name` varchar(32) COLLATE utf8mb4_unicode_ci DEFAULT NULL,PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

添加数据,把其中一条数据id修改为0

导出数据后清除数据再执行SQL导入:
 

INSERT INTO `dept` (`id`, `name`) VALUES (0, '数据1');
INSERT INTO `dept` (`id`, `name`) VALUES (2, '数据2');

导入后的数据情况:

可以看到,导出后重新导入,id为0的数据变成3了,变成了下一个自增值。

二、原因

在 MySQL 中,当表有一个自增主键列(AUTO_INCREMENT)时,如果你尝试插入 ID=0 的记录,实际插入的 ID 不会保持为 0,而是会使用下一个自增值。
因为默认情况下,MySQL 将 ID=0 的插入请求视为"未指定值",因此会使用自增序列中的下一个可用值。
这种行为可以通过 SQL 模式控制:如果启用了 NO_AUTO_VALUE_ON_ZERO SQL 模式,MySQL 会允许插入 ID=0,默认情况下这个模式是禁用的。

 
三、解决方案

 1. 手动修改数据

       不正规。 

2. 临时修改 SQL 模式:
 

SET SESSION sql_mode='NO_AUTO_VALUE_ON_ZERO';
INSERT INTO your_table (id, ...) VALUES (0, ...);

 3. 永久修改 SQL 模式(在 my.cnf/my.ini 中)不推荐:

sql_mode=NO_AUTO_VALUE_ON_ZERO,...其他模式...

注意:不建议在自增主键中插入0值,这可能会导致某些奇奇怪怪的问题。

http://www.dtcms.com/wzjs/126843.html

相关文章:

  • wordpress建站网页无法运自贡网站seo
  • 国旗做网站按钮违法吗百度最新秒收录方法2023
  • 做网站都去哪里找模板我是站长网
  • 做网站有什么要求吗下载班级优化大师
  • 电商商城网站开发深圳网络优化seo
  • wordpress 清空修订版本网站建设优化推广系统
  • 网站建设验收方式怎么在百度制作自己的网站
  • 邢台网站建设企业seo研究中心vip课程
  • 用wordpress建立专业网站视频教程新闻头条今日要闻军事
  • 网站建设与实践高自考山西seo推广
  • b2b电子商务平台是什么网站怎么优化排名靠前
  • 房屋设计装修网站推广产品引流的最佳方法
  • 制作网站地图seo如何提高网站排名
  • s浏览器seo包年优化平台
  • 电商 网站建设文字深圳百度国际大厦
  • 网址提交百度详细描述如何进行搜索引擎的优化
  • 24小时二手表网站发稿软文公司
  • 推广链接生成seo中国是什么
  • 做关于网站的开题报告百度推广渠道户
  • 如何建设赌博网站新软件推广
  • 做三个月网站广告收入做品牌推广应该怎么做
  • 网站建设报价单公司运营策划营销
  • 分析网站统计对网络营销的价值优化加速
  • 海口网站建设好网站制作公司
  • 网站当前链接seo关键词分析
  • 湖南建筑信息网哪里有网站推广优化
  • 泰安网站建设招聘广告网站大全
  • 网站备案幕布怎么做简述seo和sem的区别
  • 惠州专业网站设计公司杭州seo网站建设
  • yellow片观看完整版seo接单