sql插入数据问题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sql插入数据问题相关的知识,希望对你有一定的参考价值。

假如说我有两张表 A B
其中 A 有若干个字段 id,name,.... id是主键,且是个流水号,自增1
B中也有若干个字段 id,email.... id即是主键,也是外键。
现在 我要在插入A表的时候同时插入B里面,该如何实现呢?
如果是触发器,具体如何写呢?

1.在数据库将这列id设为自动增长,你在insert的时候不需要填这个自动增长的id
2.在insert之前做一下select
max(id)
from
table的操作来获取做大id数,你在insert的时候将这个id
+1
即可
参考技术A 最简单的方法就是写个存储过程,代码如下:
create
proc
p_Add
@id
varchar(10),@num
int
if((select
count(*)
from
tablename
where
id=@id)>0)
begin

update
tablename
set
num=num+1
where
id=@id
end
else
begin

insert
into
tablename(id,num)
values(@id,@num)
end
参考技术B 这个用ADO.NET去做,先检测是否重复,重复,自增,然后用command对象插入。
这都很基础,随便找本书上都有。
参考技术C 有两种实现方式
1:事务方式(可以程序开,也可以存储过程中开)
begin tran中
实现两个表的操作
commint tran
2.使用触发器
追加一个Insert的触发器,在触发器里面加入B表的插入。
参考技术D 他是说:"实现如果编号相同,数量加1",不是编号+1哦~~~~~上面2位看错题了吧."偶是队长"的是可以的!!!!

sql sever数据库中一个表中有一字段为 国家/地区 ,在插入数据时无法插入,经过排除,应该是反斜杠的问题

源代码
insert into table1(国家/地区) values(巴基斯坦)
请问字段里不能带反斜杠么,怎么解决这个问题呢

 字段里面是可以使用反斜杠的。

 

第一步创建表

 

create table table1(

  国家/地区   nvarchar(200),

  市/县/州     nvarchar(200)

)

第二步打开表插入值:

第三步:直接使用sql语句插入值

 你要使用我上述说的这种 insert into table1 vaules(XXXX)方式绝对可以插入进去

                                   希望对你有所帮助!

参考技术A insert into table1([国家/地区]) values(巴基斯坦)
字段名、表名等对象名若有为非标准命名需要用中括号括起来
参考技术B values(" 巴基斯坦"),加双引号试试 参考技术C insert into table1( [国家/地区] ) values( '巴基斯坦' ) 参考技术D 还真有用中文做字段名称的啊?不能改成用英文吗?

以上是关于sql插入数据问题的主要内容,如果未能解决你的问题,请参考以下文章

将 SQL 数据插入具有相同 ID 的行中?

使用存储过程(SQL + C#)将数据插入一个表,然后将多行插入另一个表

php表单没有插入到sql数据库

使用 SQL 数据适配器更新和插入行不会更新(仅插入)

sql sever数据库中一个表中有一字段为 国家/地区 ,在插入数据时无法插入,经过排除,应该是反斜杠的问题

C#,将多行插入 SQL 数据库