如何向数据库中插入一条记录,以及取得新插入记录的自动生成的主键

如题所述

准备
首先 你得有个正常的app项目(这是必须的 extension必须依附于某个app中 当然 不这样 你也无法单独安装某个widget)
打开项目工程 选择新建一个target 在 Application Extension 中选择today exntension 然后填入名字 确认即可

这时你的项目里多个一个target 同时也多了下面

接下来 删掉这个讨厌的 MainInterface.storyboard 然后修改plist文件中的 NSExtension 字段
删掉 NSExtensionMainStoryboard 字段
添加 NSExtensionPrincipalClass 字段 并设为TodayViewController (你也可以指定其他的ViewController)

修改完以后 Widget就可以开始编译运行了
运行
关于调试Widget 我推荐使用模拟器而不用真机 因为在研究过程中我发现真机调试的效果非常差 经常提示无法连接到手机(也有可能是5S的性能够不?) 导致无法正常的debug 或者无法reinstall 而模拟器则好点(至少能顺利的打印出log) 但是每次修改好代码以后 最好都先退出模拟器 再重新编译运行 如果你退出重新运行时提示下面这个错误 不用怕 多运行两次就ok了
温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2017-09-19

创建表格的时候将主键设定为IDENTITY:

CREATE TABLE Test
(
Id INT PRIMARY KEY IDENTITY,
Value NVARCHAR(128) NOT NULL
)

插入数据的时候,不要给主键赋值,主键会自动增长:

INSERT INTO Test VALUES('Value1')
INSERT INTO Test VALUES('Value2')

数据表中的数据为:

Id    Value

1    Value1

2    Value2

当然,如果你不希望Id从1开始,或者希望每条记录之间的增量不为1,你可以这样来创建你的表格:

CREATE TABLE Test
(
Id INT PRIMARY KEY IDENTITY(10000,2),
Value NVARCHAR(128) NOT NULL
)

这样,你的表格中的第一条记录的Id就是10000,而每次增加一条记录,Id的增量为2.

第2个回答  推荐于2017-09-17
插入一条记录: insert into 表中(字段名1,字段名2,...) values(内容1,内容2...)
要获得刚插入的记录所自动生成的主键,一般会在插入记录时,连同电脑的IP地址,帐号及当前时间一点插入.
然後再用select 下where条件为本机IP,本帐号及今天的最大记录的ID本回答被提问者和网友采纳
第3个回答  2012-12-11
insert into 表名 values('值') select @@identity

MySQL主键自动生成实现更高效数据管理mysql中主键自动生成
在这个例子中,id列被声明为自增长整数类型,它将自动生成每行的主键。此外,id列被声明为表的主键。当向表中插入新记录时,程序员不需要手动输入id值,id值会自动增加。2、使用GUID GUID是一种全局唯一标识符。对于有些系统来说,自增长整数并不适合作为主键。这时可以使用GUID作为主键。MySQL有一个U...

如何在MySQL中设置自增主键mysql中主键设成自增
1. 打开MySQL的命令行,输入以下命令创建一个students表:CREATE TABLE students (id INT NOT NULL PRIMARY KEY AUTO_INCREMENT,name VARCHAR(50),age INT,gender VARCHAR(10));2. 在创建表时,将id字段设置为主键,并在其后面添加AUTO_INCREMENT选项,MySQL就会自动为每条记录生成唯一的主键值。二、修...

MySQL手动插入数据时怎么让主键自增!
主键一般要设置成自增。所谓自增,就是在插入的时候,该字段不需要赋值,会自动+1;如果我的表有id,name两个字段,id自增。插入的时候只需这样:insert into tablename(name)values('zhangsan');\/\/id会自动有值 如果你没有自增,那就要指明字段了:insert into tablename(id,name)values(1,'zha...

怎么在sql数据库插入记录?
方法步骤:1、首先我们打开heidisql客户端,我们新建一个连接,如果连接的是sql server的数据库,要选择数据库的类型,端口号一般是1433如果是mysql的数据库,一般端口是3306,记住,别混了,输入用户名跟密码就能链接了。2、打开数据库后,我们选择一个表来操作,一般表都是在左侧的,我们依次展开,从数...

oracle如何实现插如记录时ID自增
这样就需要插入数据库时实现这条记录ID自己自动增加,自己搜了一下,具体方法如下假如将表li_line_fence的fenceid字段设置成了ID,那么就需要插入记录时自增1.首先建立一个序列:create sequence seq_atable minvalue 1 maxvalue 9999999 start with 1 increment by 1 nocache2.建立一个触发器:...

SQ数据库中怎样设置自增主键?
[id] [int] identity(1,1)...)这样每次插入则不需要为主键设置参数,数据库会根据设置的递增条件,自动给出主键值。如以上代码所示,则第一次插入后主键为1,第二次为2,依次递增。需要注意的是:如果这个表中有10条数据,主键为1-10不间断的数字,那要删除第十条数据,继续插入的话,id则会...

MySQL数据库中主键设置的方法详解mysql中主键的设置
在已经创建好的表中,可以通过ALTER TABLE语句添加主键,示例代码如下:ALTER TABLE `table_name` ADD PRIMARY KEY (`id`);上述语句中,id列被设置为主键,表示表中唯一标识每条记录的列是id。3.创建表时设置复合主键 有时候,一张表不止一个列可以唯一标识每一条记录,这种情况下可以使用复合主键。

SQL数据库怎么插入一条记录?
一般情况sql数据库插入数据有两种办法,一种是使用sql标准化语句,就是insert语句。另外一种是直接打开SQL的数据端客户端,打开相应的表,然后选择加号直接就可以输入数据啊。

oracle数据库,主键设置为ID,插入语句时,如何自动生成ID并让它顺序增加...
\/\/创建mySeq create sequence mySeqstart with 1increment by 2maxvalue 40minvalue 1cycle \/\/创建用户表 create table USER(Id int,CompName varchar2(20))插入语句可以这样写:insert into USER values(mySeq.nextVal,'AA')这样的话每次插入的ID就是自动递增的 ...

...用 jdbc 插入一条信息返回当前信息的主键id 怎样写 oracle的数据库...
一、自增长主键 --首先建一个表TEST create table TEST (NID int PRIMARY KEY,test1 varchar2(20),test2 varchar2(20),test3 varchar2(20),test4 varchar2(20),test5 varchar2(20))-- 再建一个序列SEQ_TEST create sequence SEQ_TEST minvalue 1 --最小值 nomaxvalue --不设置最...

相似回答