好.所以缺点是,我试图做一个INSERT SELECT,例如:

START TRANSACTION;

INSERT INTO dbNEW.entity (commonName,surname)

SELECT namefirst,namelast

FROM dbOLD.user;

SET @key = LAST_INSERT_ID();

INSERT INTO dbNEW.user (userID,entityID,other)

SELECT user_id,@key,other

FROM dbOLD.user;

COMMIT;

当然@key不会从每个插入返回每个后续的LAST_INSERT_ID(),而只返回最后一个插入的ID.

基本上,我将旧的USER表拆分为ENTITY和USER,如:

dbOLD.user

+-------------+---------------------+------+-----+------------+----------------+

| Field | Type | Null | Key | Default | Extra |

+-------------+---------------------+------+-----+------------+----------------+

| user_id | int(10) unsigned | NO | PRI | NULL | auto_increment |

| namefirst | varchar(20) | NO | | | |

| namelast | varchar(20) | NO | | | |

| other | varchar(10) | NO | | | |

+-------------+---------------------+------+-----+------------+----------------+

dbNEW.user

+-------------+---------------------+------+-----+------------+----------------+

| Field | Type | Null | Key | Default | Extra |

+-------------+---------------------+------+-----+------------+----------------+

| userID | int(10) unsigned | NO | PRI | NULL | auto_increment |

| entityID | int(10) unsigned | NO | MUL | 0 | |

| other | varchar(10) | NO | | | |

+-------------+---------------------+------+-----+------------+----------------+

dbNEW.entity

+--------------+---------------------+------+-----+------------+----------------+

| Field | Type | Null | Key | Default | Extra |

+--------------+---------------------+------+-----+------------+----------------+

| entityID | int(10) unsigned | NO | PRI | NULL | auto_increment |

| commonName | varchar(20) | NO | | | |

| surname | varchar(20) | NO | | | |

+--------------+---------------------+------+-----+------------+----------------+

我为什么要这样做?基本上,我有一个“STORE”实体,它将拥有“USERS”共有的字段,例如地址和电话号码.因此,任何“ENTITY”可能没有多个地址(运输,计费,邮寄),也没有多个电话号码(传真,主要,小区,家庭)可能有其他方法可以实现这一点,但这是我的解决方案结束了.

来自旧数据库的STORE和USERS需要保留旧的PK并获得额外的ENTITY fk.如何在不进行转储和手动编辑的情况下执行此操作?

mysql 选择插入语句_带有last_insert_id()的Mysql多行插入 – 选择语句相关推荐

  1. MySQL数据库https接口_第三章 mysql 数据库接口程序以及SQL语句操作

    mysql  数据库接口程序以及SQL语句操作 用于管理数据库: 命令接口自带命令 DDL:数据定义语言(create drop ) DCL: 数据控制语言(grant revoke) DML: 数据 ...

  2. mysql教程查询语句_最全的mysql查询语句整理

    -- 基本查询 select * from pet -- 列出指定的列 select name, owner form pet -- 直接进行算术运算,对字段起别名 select sin(1+2) a ...

  3. mysql数据库项目例子_很实用的MySql数据库语句(项目中的例子)

    mysql> insert into student -> values('013','张恒','男','1992-2-3','信息系'); Query OK, 1 row affecte ...

  4. mysql 数据库字符集转换_字符集介绍及mysql数据库编码转换

    一.字符集介绍: 1.ASCII ASCII是英文American Standard Code for Information Interchange的缩写,美国标准信息交换代码是由美国国家标准学会( ...

  5. mysql 查询编码转换_字符集介绍及mysql数据库编码转换

    一.字符集介绍: 1.ASCII ASCII是英文American Standard Code for Information Interchange的缩写,美国标准信息交换代码是由美国国家标准学会( ...

  6. mysql 最长字符串_那些年的Mysql

    首先介绍几个数据库吧 Access    //微软 是一种桌面数据库,只适合数据量少的应用,在处理少量数据和单机访问的数据库时是很好的,效率也很高.但是它同时访问客户端不能多于4个.Access数据库 ...

  7. mysql索引图文操作_图文并茂,说说MySQL索引

    序 开门见山,直接上图,下面的思维导图即是现在要讲的内容,可以先有个印象- 常见索引类型(实现层面) 索引种类(应用层面) 聚簇索引与非聚簇索引 覆盖索引 最佳索引使用策略 1.常见索引类型(实现层面 ...

  8. mysql读写分离实现_脱离开发:Mysql读写分离方案之一

    案例:Mysql读写分离 技能目标: · 熟悉MySQL主从复制原理 · 熟悉MySQL读写分离原理 · 学会配置MySQL主从复制 · 学会配置MySQL读写分离 6.1 案例分析 6.1.1 案例 ...

  9. amoeba实现mysql主从读写分离_利用Amoeba实现MySQL主从复制和读写分离

    在实际生产环境中,如果对数据库的读和写都在同一个数据库服务器中操作,无论是在安全性.高可用性,还是高并发等各个方面都是完全不能满足实际需求的,因此,一般来说都是通过主从复制(Master-Slave) ...

最新文章

  1. 将Bean放入Spring容器中的五种方式
  2. 中国电线电缆行业发展形势与投资规模预测报告2022版
  3. 两教授吐槽:如今博士研究生的论文写作水平为何如此堪忧?
  4. 桥接设计模式(Bridge)
  5. 百度面试题:Median of Two Sorted Arrays(java实现)
  6. Centos yum 命令行 安装KDE Desktop
  7. Java—网络编程相关概念
  8. Matplotlib:线类型
  9. 腾讯云:服务器资源池化技术发展趋势
  10. PB powerbuilder 电子邮件发送
  11. 深度解析IPFS是什么
  12. 关于自己ip地址的文章
  13. 产品经理自学资料/UI交互设计/产品相关电子书/求职招聘/案例资料免费领取
  14. AI新基建沙场点兵,背后是一场“路径之争”
  15. 微信小程序之问卷调查
  16. python web微信应用(二) webwx 模块源码
  17. 网站虚拟空间常见参数介绍 如何选好主机空间
  18. 人活着总是要有点精神的
  19. linux字体技术原理
  20. 读论文,第十七天:Clench Interaction: Novel Biting Input Techniques

热门文章

  1. 用Qt写软件系列六:博客园客户端的设计与实现(1)
  2. Windows 下开发PHP扩展资源
  3. 字符文本中的字符太多
  4. QT中动态库和静态库使用
  5. Android Studio-AndroidStudio目录结构
  6. java gc 次数_浅谈如何减少GC的次数
  7. linux 快速启动程序,在Linux上安装ULauncher快速启动应用程序的方法
  8. python 映射和反映射_python映射类型的相关介绍
  9. osg图元绑定方式总结
  10. osg下物体绕自身轴旋转