• 全部
  • 问答

insert 语句应用请教

荣之梦 2003-08-18 09:22:02
我有两个结构相同的表!但是每个表都有自动生成的id主键

table1,table2

以下的语句不能实现数据从table2 插入 table1 是不是与这个id主键有关?要怎么解决呢?
谢谢!!!
INSERT INTO t1 SELECT * FROM t2 WHERE id = 3;



...全文
6 点赞 收藏 11
写回复
11 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
shuixin13 2003-08-18
哦,
没有问题呀,
出错信息是什么呀,
回复
荣之梦 2003-08-18
那就这样吧。!我结贴了!!
谢谢[心帆]
回复
shuixin13 2003-08-18
INSERT INTO t1
(main_name,book_name,book_http,book_email)
SELECT (main_name,book_name,book_http,book_email)
FROM t2
只有这个办法了
回复
shuixin13 2003-08-18
INSERT INTO t1
(main_name,book_name,book_http,book_email)
SELECT (main_name,book_name,book_http,book_email)
FROM t2
回复
荣之梦 2003-08-18
那还有别的方法吗?
回复
jxbicestare 2003-08-18
既然你设定了id为主键,就必须是唯一的,除非撤消主键!
回复
荣之梦 2003-08-18
不会要这样子吧

insert into t1 select main_name,book_name,book_http,book_email from t2



可以吗?
回复
荣之梦 2003-08-18
哦。这样中!!
是id的事呀!

那我只想将t2的数据插入t1中,不想替代啊!
也就是我想将t2的数据插入到t1中,
相当于把t2的数据移入t1中啊!
insert into t1 select * from t2

ID这个事怎么解决啊。?
回复
shuixin13 2003-08-18
ERROR 1062:Duplicate entry '1' for key 1

说明你的 t1 表中已存在了 id = 3 的记录了呀,

如果你确定需要使用 t2 中的数据代替 t1 表的中数据

那就用

REPLACE t1 SELECT * FROM t2 WHERE id = 3;
回复
荣之梦 2003-08-18
表的结构如下table1 table2

CREATE TABLE table1(
main_name varchar(50) NOT NULL default '',
book_name varchar(50) NOT NULL default '',
book_http varchar(200) default NULL,
book_address varchar(200) NOT NULL default '',
book_person varchar(20) NOT NULL default '',
book_tel varchar(20) default NULL,
book_mob varchar(20) default NULL,
book_mail varchar(30) default NULL,
book_body blob NOT NULL,
book_input datetime default NULL,
book_output datetime NOT NULL default '0000-00-00 00:00:00',
id int(8) NOT NULL auto_increment,
PRIMARY KEY (id)
) TYPE=MyISAM;

CREATE TABLE table2 (
main_name varchar(50) NOT NULL default '',
book_name varchar(50) NOT NULL default '',
book_http varchar(200) default NULL,
book_address varchar(200) NOT NULL default '',
book_person varchar(20) NOT NULL default '',
book_tel varchar(20) default NULL,
book_mob varchar(20) default NULL,
book_mail varchar(30) default NULL,
book_body blob NOT NULL,
book_input datetime default NULL,
book_output datetime NOT NULL default '0000-00-00 00:00:00',
id int(8) NOT NULL auto_increment,
PRIMARY KEY (id)
) TYPE=MyISAM;

谢谢 [心帆]了!
回复
荣之梦 2003-08-18
这是样子的出错如下:
ERROR 1062:Duplicate entry '1' for key 1
回复
相关推荐
发帖
MySQL
创建于2007-09-28

5.5w+

社区成员

MySQL相关内容讨论专区
申请成为版主
帖子事件
创建了帖子
2003-08-18 09:22
社区公告
暂无公告