求助一个SQL的insert into select相关问题

一个关于sql的insert...where问题_百度知道
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。
一个关于sql的insert...where问题
b&#39, SELECT B FROM TABLE WHERE A = &#39, SELECT D FROM TABLE WHERE a = &#39, D) VALUE('a'INSERT INTO TABLE (A;d'), B, C;想写一个这样功能的SQL,当然我写这个是错的,求大神看看思路然后提供正确的;, 'c'
我有更好的答案
.;这种,可以直接放在select后面,... from Table12.SELECT INTO FROM语句
语句形式为:SELECT vale1;a&#39,像',B表的列 from BSELECT INTO 和 INSERT INTO SELECT 两种表复制语句:1.INSERT INTO SELECT语句
语句形式为:Insert into Table2(field1,field2..) select value1,value2,select 'a&#39你这太乱了,安装下面的规则写
采纳率:68%
来自团队:
INSERT INTO TABLE (A, B, C, D) 后面可以接一个等字段长度的结果集INSERT INTO TABLE (A, B, C, D)
SELECT A,B,C,D FROM XXX WHERE A='b'就给你个思路
但是我插入的数值有一部分是select出来的,还有定值的,怎么写
后面的那个结果集SELECT 'a', t1.B, 'c', t2.DFROM TABLE t1, TABLE t2where t1.A = 'b' and t2.a = 'd'
非常感谢,可惜比采纳那个慢了点,还是谢谢你
没事,关键是能解决问题就好
刚测试过,你这样部分指定,部分查询会出现这样的报错:子查询返回的值不止一个估计你这想法是不行了,要改。
为您推荐:
其他类似问题
等待您来回答两条insert语句引起的死锁问题,求解。 - ITeye问答
使用java编写的批量插入程序,在进行并发测试时出现了数据死锁的问题,查看udump日志信息如下:
*** SESSION ID:(132.130)
13:39:09.656
DEADLOCK DETECTED ( ORA-00060 )
[Transaction Deadlock]
The following deadlock is not an ORACLE error. It is a
deadlock due to user error in the design of an application
or from issuing incorrect ad-hoc SQL. The following
information may aid in determining the deadlock:
Deadlock graph:
&&&&&&&&&&&&&&&&&&&&&& ---------Blocker(s)--------& ---------Waiter(s)---------
Resource Name&&&&&&&&& process session holds waits& process session holds waits
TX-040de&&&&&&& 32&&&& 132&&&& X&&&&&&&&&&&& 42&&&& 135&&&&&&&&&& S
TX-03f89&&&&&&& 42&&&& 135&&&& X&&&&&&&&&&&& 32&&&& 132&&&&&&&&&& S
session 132: DID 000018 session 135: DID 000009
session 135: DID 000009 session 132: DID 000018
Rows waited on:
Session 135: obj - rowid = 0000F78A - AAAPeKAAAAAAAAAAAA
& (dictionary objn - 63370, file - 0, block - 0, slot - 0)
Session 132: obj - rowid = 0000F78A - AAAPeKAAGAAAl3OAAA
& (dictionary objn - 63370, file - 6, block - 155086, slot - 0)
Information on the OTHER waiting sessions:
Session 135:
& pid=42 serial=591 audsid=230181 user: 72/SHZY2
& O/S info: user: , term: , ospid: 1234, machine: csbyyserver
&&&&&&&&&&& program:
& Current SQL Statement:
& insert into t_idx_zxcx (zj,ztlx,glxxbh,hm) values ('6404618','01','238','090000')
End of information on OTHER waiting sessions.
Current SQL statement for this session:
insert into t_idx_zxcx (zj,ztlx,glxxbh,hm) values ('6403618','01','238','090000')
===================================================
两个不同的会话在插入的时候,rowid居然一致。一直想不通问题的原因,只能求大牛帮忙了。附上数据库表的设计:
附件1为数据库表设计,附件2为该表的索引,附件3为表的主键设计
采纳的答案
我也不搬别人的东西,楼主你直接看这个连接吧
用uuid做主键吧
没看到你的附件,
不过可以推测,是因为,第一次插入时失败,所以第二次用的同一个rowid进行插入.
可能是你的id用的是序列,而此序列已经被手动加入过了.
已解决问题
未解决问题用户名:帅小伙
文章数:120
评论数:69
访问量:648822
注册日期:
阅读量:1297
阅读量:3317
阅读量:457316
阅读量:1141984
[匿名]随意问:
51CTO推荐博文
&& 今天有同事问,mysqldump怎么样才能够将导出的sql中,每条记录对应一个insert语句,默认总是导出一个长的insert语句,如下所示:[zzx@localhost ~]$ mysqldump --compact& -uroot test t1& a[zzx@localhost ~]$ more aCREATE TABLE `t1` (& `id` int(10) default NULL,& UNIQUE KEY `idx_1` (`id`)) ENGINE=MyISAM DEFAULT CHARSET=INSERT INTO `t1` VALUES (1),(2),(3);我们希望把导出语句中的insert改为:INSERT INTO `t1` VALUES (1);INSERT INTO `t1` VALUES (2);INSERT INTO `t1` VALUES (3);这样在不支持insert多值的数据库中,可以很方便的进行迁移,其实方法很简单,只需要加--extented-insert=false即可:[zzx@localhost ~]$ mysqldump --compact --extended-insert=false -uroot test t1& a[zzx@localhost ~]$ more aCREATE TABLE `t1` (& `id` int(10) default NULL,& UNIQUE KEY `idx_1` (`id`)) ENGINE=MyISAM DEFAULT CHARSET=INSERT INTO `t1` VALUES (1);INSERT INTO `t1` VALUES (2);INSERT INTO `t1` VALUES (3);我们从mysqldump中可以看到此参数的默认值为true:[zzx@localhost ~]$ mysqldump --help|grep extended-insert。。。。。。extended-insert&&&&&&&&&&&&&&&&&& TRUE本文出自 “” 博客,请务必保留此出处
了这篇文章
类别:┆阅读(0)┆评论(0)
10:33:15 20:52:07 13:43:33

我要回帖

更多关于 insert into 一个字段 的文章

 

随机推荐