社区
基础编程
帖子详情
INSERT INTO `news` SELECT * FROM `news`,news中含有唯一索引的ID字段时,怎么办?
winder
2006-12-25 11:54:08
INSERT INTO `news` SELECT * FROM `news`,news中含有唯一索引的ID字段时,怎么办?
...全文
397
15
打赏
收藏
INSERT INTO `news` SELECT * FROM `news`,news中含有唯一索引的ID字段时,怎么办?
INSERT INTO `news` SELECT * FROM `news`,news中含有唯一索引的ID字段时,怎么办?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
15 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
winder
2006-12-26
打赏
举报
回复
但是,INSERT和SELECT为同一个表,我试过,可以的。
winder
2006-12-26
打赏
举报
回复
xuzuning(唠叨)的意思应该是INSERT和SELECT不能同一个表吧。
>>INSERT语句的目的表不能出现在SELECT查询部分的FROM子句,因为这在ANSI SQL中被禁止让从你正在插入的表中SELECT。
这句话怎么理解?
含有唯一索引字段确实是不能SELECT *,我试过的。
winder
2006-12-26
打赏
举报
回复
表类型是MyISAM。
Gdj
2006-12-26
打赏
举报
回复
myIasm的表在操作时是表锁定的应该不能。innodb的不知道能不能。
yuyuwhite
2006-12-25
打赏
举报
回复
INSERT INTO `news`(item1,item2,item3) SELECT item1,item2,item3 FROM `news`
caotian2000
2006-12-25
打赏
举报
回复
呵呵!可能真的不能写哦!你先写一个临时表里好了
zj318503533
2006-12-25
打赏
举报
回复
好像只能一个字段一个字段的填加,那前边的ID字段去掉
擒兽
2006-12-25
打赏
举报
回复
不行,只能一一对应字段更新。
Insert into 表(字段1,字段2,字段3...) Select 字段1,字段2,字段3... From 表 UNION ALL Select 字段1,字段2,字段3... From 表 ......
如果不是 自动增长 的标识,主键是可以插入的,前提是满足主键约束。
winder
2006-12-25
打赏
举报
回复
>>能这样写吗?至少mysql是不允许的
奇怪的,我试了,可以的。
xuzuning
2006-12-25
打赏
举报
回复
能这样写吗?至少mysql是不允许的
INSERT INTO ... SELECT语句满足下列条件:
查询不能包含一个ORDER BY子句。
INSERT语句的目的表不能出现在SELECT查询部分的FROM子句,因为这在ANSI SQL中被禁止让从你正在插入的表中SELECT。(问题是SELECT将可能发现在同一个运行期间内先前被插入的记录。当使用子选择子句时,情况能很容易混淆)
AUTO_INCREMENT列象往常一样工作。
PleaseDoTellMeWhy
2006-12-25
打赏
举报
回复
那就把id字段不要SELECT了嘛!
懒得去死
2006-12-25
打赏
举报
回复
INSERT INTO `news`(item1,item2,item3) SELECT item1,item2,item3 FROM `news`
lvlfforever
2006-12-25
打赏
举报
回复
INSERT INTO `news`(id,item1,item2,item3) SELECT null,item1,item2,item3
winder
2006-12-25
打赏
举报
回复
我是想自动增长的还是自动增长,不覆盖。
ice_berg16
2006-12-25
打赏
举报
回复
如果想在唯一索引重复的时候进行覆盖的话可以用
replace into `news` select ...
经典全面的SQL语句大全
SQL数据库:
select
case when len(field)>10 then left(field,10)+'...' else field end as
new
s_name,
new
s_
id
from tablename Access数据库:
SELECT
iif(len(field)>2,left(field,2)+'...',field) FROM ...
oracle into bl,【oracle】
select
into from 和
insert
into
select
的用法和区别
select
into from 和
insert
into
select
都是用来复制表,两者的主要区别为:
select
into from 要求目标表不存在,因为在插入
时
会自动创建。
insert
into
select
from 要求目标表存在一、
INSERT
INTO
SELECT
语句语句...
MySQL入门进阶及面试题分析
本阶段mysql学习从0基础开始的课程。 你可以掌握以下知识点: mysql安装,mysqlshell命令,mysql关系型数据库术语,mysql整体架构分析, mysql-innodb存储引擎,mysql存储引擎写入架构以及配置,mysql日志管理, mysqlSQL语句(create,delete,
insert
,update,
select
), mysql查询语句聚合,mysql表连接,mysql
字段
类型,mysql表约束以及表结构操作, mysql唯一约束非空约束主键约束,mysql外键约束和默认约束,mysql表关系(多对多,一对一,一对多)
常用SQL语句
sql="
select
* from 数据表 where
字段
名=
字段
值 order by
字段
名 " sql="
select
* from 数据表 where
字段
名 like ‘%
字段
值%‘ order by
字段
名 " sql="
select
top 10 * from 数据表 where
字段
名 order by
字段
名...
select
into from和
insert
into
select
select
into from 和
insert
into
select
都是用来复制表,两者的主要区别为:
select
into from 要求目标表不存在,因为在插入
时
会自动创建;
insert
into
select
要求目标表存在
insert
into
select
语法:
Insert
...
基础编程
21,886
社区成员
140,364
社区内容
发帖
与我相关
我的任务
基础编程
从PHP安装配置,PHP入门,PHP基础到PHP应用
复制链接
扫一扫
分享
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章