1、打开access数据库文件。
2、选择“创建”——“表设计”。
3、按照如图创建一个表格。
4、这里的省份需要设置成列表,然后,点击下方的“查阅”。
5、在行来源类型选择“值列表”,行来源中输入要添加的列表值,并以英文输入法的分号分隔,如图:
6、然后保存表。
7、然后添加数据时,可见之前设置的值达到了值列表的状态,如图:
先说一下 SQL Server通过 IDENTITY 来设置
参数有2个,一个是“初始值” 一个是“增量”。
默认情况下 INSERT 语句中,不能对 IDENTITY 的字段进行赋值。
对于 IDENTITY 的列 SQL Server 在 INSERT 的时候,会自动忽略掉。
1>CREATE TABLE test_create_tab2 (
2> id INT IDENTITY(1, 1) PRIMARY KEY,
3> val VARCHAR(10)
4>)
5>go
1>INSERT INTO test_create_tab2(val) VALUES ('NO id')
2>go
(1 行受影响)
1>INSERT INTO test_create_tab2(id, val) VALUES (6, 'id no use')
2>go
消息 544,级别 16,状态 1,服务器 HOME-BED592453C\SQLEXPRESS,第 1 行
当 IDENTITY_INSERT 设置为 OFF 时,不能为表 'test_create_tab2' 中的标识列插入显式值。
1>INSERT INTO test_create_tab2(val) VALUES ('A')
2>INSERT INTO test_create_tab2(val) VALUES ('B')
3>INSERT INTO test_create_tab2 VALUES ('C')
4>INSERT INTO test_create_tab2 VALUES ('D')
5>go
1>SELECT * FROM test_create_tab2
2>go
id val
----------- ----------
1 NO id
2 A
3 B
4 C
5 D
(5 行受影响)
再说一下 mysql
通过
AUTO_INCREMENT设置
SQL INSERT语句的时候,要避免 指定那个自增的字段
mysql>CREATE TABLE test_create_tab2 (
-> id INT AUTO_INCREMENT,
-> val VARCHAR(10),
-> PRIMARY KEY (id)
->)
Query OK, 0 rows affected (0.09 sec)
mysql>INSERT INTO test_create_tab2(val) VALUES ('NO id')
Query OK, 1 row affected (0.03 sec)
mysql>select last_insert_id() as id
+----+
| id |
+----+
| 1 |
+----+
1 row in set (0.00 sec)
mysql>INSERT INTO test_create_tab2(val) VALUES ('NO id 2')
Query OK, 1 row affected (0.03 sec)
mysql>select last_insert_id() as id
+----+
| id |
+----+
| 2 |
+----+
1 row in set (0.00 sec)
mysql>select * from test_create_tab2
+----+---------+
| id | val |
+----+---------+
| 1 | NO id |
| 2 | NO id 2 |
+----+---------+
2 rows in set (0.00 sec)
sql语句中,添加记录的语法为:insert into 表名 (col1,col2....coln)values(value1,value2.....valuen);
其中,如果你插入的每一列都是顺序插入,无一缺漏的话,(col1,col2...coln)可以省略。
也就是上式也可以简化为:insert into 表名 values(value1,value2.....valuen);
看了你写的sql代码,问题出在insert into 的整体语句出现在了不该出现的地方,只需做一点小改动即可解决,如下图:
解析:insert into语句需要在user表已经存在的情况下才可以使用。而你原来的语句中,将上图2中的语句插入到了create table user的语句中,致使create table user 语句未能成功执行,所以才会报错。
而将“INSERT INTO user(uid,tel) values('甲','3354986')”整条语句直接拿出来放在“ENGINE=InnoDB DEFAULT CHARSET=gbk”后面之后,整个sql就可以顺利执行了。
扩展资料:
当mysql大批量插入数据的时候就会变的非常慢, mysql提高insert into 插入速度的方法有三种:
1、第一种插入提速方法:
如果数据库中的数据已经很多(几百万条), 那么可以 加大mysql配置中的 bulk_insert_buffer_size,这个参数默认为8M
举例:bulk_insert_buffer_size=100M;
2、第二种mysql插入提速方法:
改写所有 insert into 语句为 insert delayed into
这个insert delayed不同之处在于:立即返回结果,后台进行处理插入。
3、第三个方法: 一次插入多条数据:
insert中插入多条数据,举例:
insert into table values('11','11'),('22','22'),('33','33')...
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)