MySQL手动插入数据时怎么让主键自增!

MySQL手动插入数据时怎么让主键自增!,第1张

主键一般要设置成自增。

所谓自增,就是在插入的时候,该字段不需要赋值,会自动+1;

如果我的表有id,name两个字段,id自增。插入的时候只需这样:

insert

into

tablename(name)

values('zhangsan')//id会自动有值

如果你没有自增,那就要指明字段了:

insert

into

tablename(id,name)

values(1,'zhangsan')//id不会自动有值

首先可以先更改两个表的diarygpid 为一样的值,建议该值要大一点,既>diarygp.diaryid的最大值,同时也>diarynum.diaryid的最大值,最好类型bigint,我们这里假定是1000吧,那么把两个表的自动增长值设为1001,这样做的目的是防止插入是出现重复diarygpid

ALTER TABLE `diarygp` AUTO_INCREMENT = 1001

ALTER TABLE `diarynum` AUTO_INCREMENT = 1001

//建立存储过程

DELIMITER $$

PROCEDURE `AddAccount`(_diaryname varchar(20), _uid varchar(20), diarynum int )

BEGIN

declare newID bigint

insert into diarygp (diaryname) values (_diaryname )

select diaryid into newID from diarygp order by diaryid desc limit 1

insert into diarynum ( diaryid,uid,diarynum ) values (newID, _uid, _diarynum)

end $$

DELIMITER

php执行存储过程

<?php

//注意,sql为存储过程时,要使用这两个1,CLIENT_MULTI_RESULTS 参数

$Conn = mysql_connect("Host", "Uid", "Pwd",1,CLIENT_MULTI_RESULTS)

//sql

$SQL = "AddAccount('name','_uid',2222)"

mysql_query($SQL,$Conn)

mysql_close($Conn)

?>

在命令行里面打入

mysql -u root -p 然后回车 它会提示你输入密码

输完密码进入mysql后 会出现这样的提示符

mysql->这里输入 use 你的test表所在的库 --别忘记封号

然后 执行 INSERT INTO test (a,b,c) VALUES (1,2,3)

这句话的前提是这样的你的test表含有 a列 b列 c列

然后对应 a b c列插入一行值为 1,2,3的值

当然你可以这么些

insert test(a,b,c) select 1,2,3


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/56404.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-02-26
下一篇2023-02-26

发表评论

登录后才能评论

评论列表(0条)

    保存