mysql将一张表加入到另外一张表。想要的效果如下; 表a id=1 name=小明滚出去 表二 id=

如何提前1个mysql数据库内1个表同一id得记录并累加
如何提前1个mysql数据库内1个表同一id得记录并累加
09-02-21 &匿名提问 发布
$array=array();$sql='SELECT id FROM TABLE';$rs=mysql_query($sql);while($row=mysql_fetch_array($rs)){ $array[]=$row['id'];}mysql_free_result($rs);print_r($array);
请登录后再发表评论!Mysql的两个问题 - 浪花的博客(最淡的墨水,也胜过最强的记忆 ) - ITeye技术网站
博客分类:
第一题:一张表,里面有ID自增主键,当insert了17条记录之后,删除了第15,16,17条记录,再把Mysql重启,再insert一条记录,这条记录的ID是18还是15
第二题:还是MYSQL的,一张表有还是有ID自增主键,用JDBC insert一条语句之内,怎么在JAVA程序里面获得这条记录的ID.
第一题:这个要看Mysql表的类型
我现在知道的有两种,一种是MyISAM,另一种是InnoDB
MYSQL默认的就是InnoDB
InnoDB是把表的主键最大值放到内存里面,所以MYSQL重启之后就会丢失(在WINDOW下,这是MYSQL默认的)
MyISAM是把表的主键最大值放到文件里面,所以MYSQL重启之后不会丢失
可以在创建表的时候显示指定
create table t_test(id int not null auto_increment primary key,name varchar(255)) ENGINE=InnoDB;
create table t_test(id int not null auto_increment primary key,name varchar(255)) ENGINE=MyISAM;
还可以通过
SHOW TABLE STATUS;命令可以看到表的类型
使用ALTER命令可以对单个表的类型进行修改
ALTER TABLE talbe_name ENGINE=InnoDB;

SHOW GLOBAL VARIABLES LIKE '%engine%';
可以看到MySQL当前默认的新生成表的类型。
第二题:
有两种方法,
1.JDBC有这个API,Statement.getGeneratedKeys();
Class.forName("com.mysql.jdbc.Driver");
Connection connection = DriverManager.getConnection ("jdbc:mysql://localhost:3306/testid","root","root");
// 创建带问号的参数化语句
String template = "insert into t_test(name) values(?) ";
PreparedStatement statement = connection.prepareStatement (template);
statement.setString(1, "langhua1");
statement.execute();
ResultSet rs = statement.getGeneratedKeys();
while(rs.next()){
//获得主键
System.out.println(rs.getInt(1));
statement.close();
rs.close();
connection.close();
connection.setAutoCommit(false);
Statement stat = connection.getStatement();
stat.executeUpdate("insert into test (name,password) values('123','321')");
ResultSet rs = stat.executeQuery("select id from test where name='123'");
rs.next();
System.out.println(rs.getInt('id'));
2.可以利用MySQL语句获得,但这个就不是通用语句了:SELECT LAST_INSERT_ID();
langhua9527
浏览: 232678 次
来自: 昆明
[i][i][i][i][i][i][i][i][i][i][ ...
运行报错java.net.BindException: ...
即使是定义了compareTo ,treeSet还是会出现相同 ...
谢谢,总结的很清晰。
这是什么 &filter-mapping&1.方法一:truncate table (表名)cn_conference_hall
这样不但将数据表中的数据全部清空,而且编号还是从1重新开始;
2方法二:delete from 表名
dbcc& checkident(表名,reseed,0)重新定位自增的字段,让它从1开始
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:113424次
积分:3165
积分:3165
排名:第4332名
原创:211篇
评论:37条
(5)(3)(2)(1)(2)(2)(5)(13)(6)(26)(23)(13)(19)(15)(35)(21)(4)(17)(1)(6)怎么建一个表,在里面输入列,而有一列是自动生成的User_id。_mysql吧_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0成为超级会员,使用一键签到本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:7,641贴子:
怎么建一个表,在里面输入列,而有一列是自动生成的User_id。收藏
就是一个列号,比如:我建一个表user有四列,user_id,username,password,email.怎么在表中插入数据时,只插入username,password, user_id自动生成,因为,用户登记时,不可能知道,他前面已经有多少人登记过了。
用序列。插入时用
序列名.nextvale
oracle里面这样用
将user_id 设置为auto_increment
insert into user(username,password,email)values(‘百度’,‘123’,‘’)还要那个id创建表的时候设置为主键并且,auto increment
受教了,呵呵……user_id int not null primary key auto_increment,
登录百度帐号推荐应用
为兴趣而生,贴吧更懂你。或

我要回帖

更多关于 小明和他的小伙伴们 的文章

 

随机推荐