mysql 选择插入语句_带有last_insert_id()的Mysql多行插入 – 选择语句
好.所以缺点是,我试图做一个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多行插入 – 选择语句相关推荐
- MySQL数据库https接口_第三章 mysql 数据库接口程序以及SQL语句操作
mysql 数据库接口程序以及SQL语句操作 用于管理数据库: 命令接口自带命令 DDL:数据定义语言(create drop ) DCL: 数据控制语言(grant revoke) DML: 数据 ...
- mysql教程查询语句_最全的mysql查询语句整理
-- 基本查询 select * from pet -- 列出指定的列 select name, owner form pet -- 直接进行算术运算,对字段起别名 select sin(1+2) a ...
- mysql数据库项目例子_很实用的MySql数据库语句(项目中的例子)
mysql> insert into student -> values('013','张恒','男','1992-2-3','信息系'); Query OK, 1 row affecte ...
- mysql 数据库字符集转换_字符集介绍及mysql数据库编码转换
一.字符集介绍: 1.ASCII ASCII是英文American Standard Code for Information Interchange的缩写,美国标准信息交换代码是由美国国家标准学会( ...
- mysql 查询编码转换_字符集介绍及mysql数据库编码转换
一.字符集介绍: 1.ASCII ASCII是英文American Standard Code for Information Interchange的缩写,美国标准信息交换代码是由美国国家标准学会( ...
- mysql 最长字符串_那些年的Mysql
首先介绍几个数据库吧 Access //微软 是一种桌面数据库,只适合数据量少的应用,在处理少量数据和单机访问的数据库时是很好的,效率也很高.但是它同时访问客户端不能多于4个.Access数据库 ...
- mysql索引图文操作_图文并茂,说说MySQL索引
序 开门见山,直接上图,下面的思维导图即是现在要讲的内容,可以先有个印象- 常见索引类型(实现层面) 索引种类(应用层面) 聚簇索引与非聚簇索引 覆盖索引 最佳索引使用策略 1.常见索引类型(实现层面 ...
- mysql读写分离实现_脱离开发:Mysql读写分离方案之一
案例:Mysql读写分离 技能目标: · 熟悉MySQL主从复制原理 · 熟悉MySQL读写分离原理 · 学会配置MySQL主从复制 · 学会配置MySQL读写分离 6.1 案例分析 6.1.1 案例 ...
- amoeba实现mysql主从读写分离_利用Amoeba实现MySQL主从复制和读写分离
在实际生产环境中,如果对数据库的读和写都在同一个数据库服务器中操作,无论是在安全性.高可用性,还是高并发等各个方面都是完全不能满足实际需求的,因此,一般来说都是通过主从复制(Master-Slave) ...
最新文章
- 将Bean放入Spring容器中的五种方式
- 中国电线电缆行业发展形势与投资规模预测报告2022版
- 两教授吐槽:如今博士研究生的论文写作水平为何如此堪忧?
- 桥接设计模式(Bridge)
- 百度面试题:Median of Two Sorted Arrays(java实现)
- Centos yum 命令行 安装KDE Desktop
- Java—网络编程相关概念
- Matplotlib:线类型
- 腾讯云:服务器资源池化技术发展趋势
- PB powerbuilder 电子邮件发送
- 深度解析IPFS是什么
- 关于自己ip地址的文章
- 产品经理自学资料/UI交互设计/产品相关电子书/求职招聘/案例资料免费领取
- AI新基建沙场点兵,背后是一场“路径之争”
- 微信小程序之问卷调查
- python web微信应用(二) webwx 模块源码
- 网站虚拟空间常见参数介绍 如何选好主机空间
- 人活着总是要有点精神的
- linux字体技术原理
- 读论文,第十七天:Clench Interaction: Novel Biting Input Techniques