标签: auto-increment

在Firebase中自动增加值

如何从Android客户端自动增加存储在Firebase中的值?

目前:我宣布int id = 1.当我递增时,我看到存储的值2,3等.那没关系,但是当我重新运行项目时,id再次设置为1.

我希望它表现得像一个静态变量,所以我可以创建一个从1到无穷大而不重置的id.

更新失败

我使用以下内容将Firebase引用和字符串传递给函数incrementCounter.

if(language_chosen.equalsIgnoreCase("english"))
 {
   Firebase publRef = f.child("Language").child("English").child("Message");
   Firebase newPublRef = publRef.push();
   writeMsgActivity demo = new writeMsgActivity();
   demo.incrementCounter(newPublRef,the_msg_enter);                                 
  }
Run Code Online (Sandbox Code Playgroud)

现在我尝试public void incrementCounter(Firebase publref,String my_msg)在oncomplete方法中使用传递的引用和字符串, 但它给了我一个错误.

   public void incrementCounter(Firebase publref,String my_msg) {
    publref.runTransaction(new Transaction.Handler() {
        @Override
        public Transaction.Result doTransaction(final MutableData currentData) {
            if (currentData.getValue() == null) {
                currentData.setValue(1);
            } else {
                currentData.setValue((Long) currentData.getValue() + 1);
            }

            return Transaction.success(currentData);
        }

        public void onComplete(FirebaseError firebaseError, boolean committed, DataSnapshot currentData) {
            if …
Run Code Online (Sandbox Code Playgroud)

java android auto-increment firebase firebase-realtime-database

12
推荐指数
2
解决办法
2万
查看次数

SqlServer使用MySql创建表,如auto_increment主键

我想在SqlServer中创建一个表,它将在插入时添加一个自动递增的主键.这应该是一个类似于MySql auto_increment功能的自动增量id.(下面)

create table foo  
(  
user_id int not null auto_increment,  
name varchar(50)  
)  
Run Code Online (Sandbox Code Playgroud)

有没有办法在创建插入触发器的情况下执行此操作?

mysql sql-server auto-increment

11
推荐指数
3
解决办法
3万
查看次数

如何从SQLServer SELECT语句返回新的IDENTITY列值?

我正在插入带有自动增量键字段的SQLServer表.(我相信这在SQLServer中称为IDENTITY列.)

在Oracle中,我可以使用RETURNING关键字为我的INSERT语句提供一个结果集,就像SELECT查询一样,它将返回生成的值:

INSERT INTO table
(foreign_key1, value)
VALUES
(9, 'text')
RETURNING key_field INTO :var;
Run Code Online (Sandbox Code Playgroud)

如何在SQLServer中完成此操作?

额外奖励:好的,到目前为止答案很好,但如果可能的话,如何将其写入单一陈述?:)

sql t-sql sql-server identity auto-increment

11
推荐指数
2
解决办法
3万
查看次数

如果我的表只有一个自动增量列,我该如何插入?

一位同事问我,如果SQL Server中有一个只有自动增量列的表,那么如何在该表中插入一个新行?

INSERT INTO MyTable() VALUES()
Run Code Online (Sandbox Code Playgroud)

......不起作用.

至于为什么......我不太确定.但我发现这个问题很有说服力.

sql-server insert auto-increment

11
推荐指数
1
解决办法
3446
查看次数

如何设置一个AUTO_INCREMENT字段与mysql中的值6000开始?

如何设置不自动增量键字段自动增量MySQL或如何设置与mysql的初始值6000的字段自动递增?

mysql auto-increment

11
推荐指数
1
解决办法
4万
查看次数

如何使用PHP为MySQL表中的每一行重新分配AUTO_INCREMENT列

我有一个图片库,网站成员可以上传图像.上传图像时,会写入一个MySQL行,其中包含有关图像,成员等的各种信息.此行使用AUTO_INCREMENT创建其ID,以便getimage.php?id=XX可以获取要显示的图像.

我使用for循环遍历ID以显示库中的图像.

如果我删除第5行/图像,例如,AUTO_INCREMENT从去12345678912346789.

我想从头开始重新为MySQL表中的每一行分配ID.所以12346789变为12345678.我将如何实现这一目标?

php mysql auto-increment

11
推荐指数
2
解决办法
8747
查看次数

"使用/ main编译以指定包含入口点的类型."

根据下面的代码,我收到以下消息.我很确定"为什么"我得到它,我只是不知道如何重新排列代码来移动/删除/替换其中一个错误导致语句.

"使用/ main编译以指定包含入口点的类型."

"static void Main(string [] args)"下面有一堆代码,我从 http://support.microsoft.com/kb/816112 得到的目的是为了从自动增量获取ID,所以当其余代码填充Access数据库时,我可以自动增加它.任何帮助表示赞赏.我们也欢迎使用更简单的代码获得结果的建议!

namespace WindowsFormsApplication1
{
    public partial class Form1 : Form
    {
        OleDbConnection vcon = new OleDbConnection(@"Provider=Microsoft.ACE.OLEDB.12.0;data source=C:\Hazardous Materials\KinneyDatabase.accdb");

        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            vcon.Open();

            try
            {
                StreamReader sr = new StreamReader(@"C:\Hazardous Materials\cities.txt");
                string line = sr.ReadLine();

                StreamReader sr2 = new StreamReader(@"C:\Hazardous Materials\drugs.txt");
                string line2 = sr2.ReadLine();

                StreamReader sr3 = new StreamReader(@"C:\Hazardous Materials\strengths.txt");
                string line3 = sr3.ReadLine();

                while (line != null)
                {
                    comboBox1.Items.Add(line); …
Run Code Online (Sandbox Code Playgroud)

c# ms-access auto-increment

11
推荐指数
2
解决办法
2万
查看次数

同一INSERT期间另一列中串行列的引用值

我有一个带有SERIAL主键的表,还有一个ltree列,其值我想成为这些主键的串联.例如

id | path
----------
1    1
2    1.2
3    1.2.3
4    1.4
5    1.5
Run Code Online (Sandbox Code Playgroud)

我很好奇是否有办法在一个查询中进行这样的插入,例如

INSERT INTO foo (id, ltree) VALUES (DEFAULT, THIS.id::text)
Run Code Online (Sandbox Code Playgroud)

我可能在这里过度使用并试图在一个查询中做我应该做的两件事(在一个事务中分组).

sql postgresql auto-increment sql-insert

11
推荐指数
1
解决办法
2246
查看次数

使用单个查询插入多行时,获取所有插入的ID

我已经看过其他答案了,我仍然认为我的问题是相关的,值得一个单独的条目.

我有一个名为settings的表(存储用户设置),我必须为每个用户插入多个设置.最初,我为每个设置执行了一个单独的insert语句,但是觉得这不是一个特别好的方法,我想通过相同的insert语句插入多行.我唯一的问题是我想要每个新插入行的auto_incremented ID.

我已经阅读了答案,说这不可能/可扩展等,但我觉得我已经找到了解决方案.我想要反馈我的方式是否正确,因此这个问题.

我所做的很简单.插入多行后,我调用last_insert_id()来获取同时插入的行的第一行的ID.我已经计算了插入的行数,所以我只需要创建一个新数组并使用从last_insert_id()开始并以last_insert_id()+ n-1结尾的ID填充它(其中n是插入的行数).

我觉得这会有效,原因如下:

1.)MYSQL文档声明last_insert_id()依赖于连接,如果另一个客户端/连接插入新记录,那么这不会影响其他客户端的last_insert_id().

2.)我觉得由于插入是由单个SQL语句完成的,因此应将整个插入视为单个事务.如果这是真的,那么应该应用ACID规则并且auto_incremented值应该是顺序的.我不确定这个.

这些是我认为逻辑应该起作用的原因.所以我的问题是,上述逻辑是否适用于所有条件?我可以依靠它在所有情况下都能正常工作吗?我知道它目前对我有用.

php mysql database auto-increment

11
推荐指数
1
解决办法
5208
查看次数

如何告诉Entity Framework我的ID列是自动递增的(AspNet Core 2.0 + PostgreSQL)?

代码很简单. Tag.cs实体:

public partial class Tag
{
    [Key]
    [DatabaseGenerated(DatabaseGeneratedOption.Identity)]
    public int Id { get; set; }
    public string Name { get; set; }
    public string Description { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

HomeController.cs 类:

public async Task<IActionResult> Index()
{
   tagRepository.Insert(new Tag 
               { 
                   Name = "name", 
                   Description = "description" 
               });
   await UnitOfWork.SaveChangesAsync();  // calls dbContext.SaveChangesAsync()

   return View();
}
Run Code Online (Sandbox Code Playgroud)

TagRepository.cs 类:

    // Context it's a usual DBContext injected via Repository's constructor
    public virtual void Insert(TEntity item)
                => Context.Entry(item).State = EntityState.Added;
Run Code Online (Sandbox Code Playgroud)

Tag 表是通过运行创建的: …

auto-increment npgsql entity-framework-core asp.net-core

11
推荐指数
2
解决办法
1万
查看次数