복붙노트

[SQL] 어떻게 SQLite는 지난 삽입 ID를 얻으려면?

SQL

어떻게 SQLite는 지난 삽입 ID를 얻으려면?

어떤 마지막으로 삽입 된 행 ID를 가져 오기 위해 SQLite는에서 사용할 수있는 함수가 내장되어 있습니다. 예 : - MySQL은 우리가 LAST_INSERT_ID () 함수의이 종류가 있습니다. 동일한 프로세스를 수행 할 수 sqllite 모든 기능을하십시오.

제발 도와주세요.

감사

해결법

  1. ==============================

    1.이것은 SQLite는 LAST_INSERT_ROWID () 함수를 사용하여 볼 수 있습니다 :

    이것은 SQLite는 LAST_INSERT_ROWID () 함수를 사용하여 볼 수 있습니다 :

    이 함수의 바인딩 PHP 버전 /) (sqlite_last_insert_rowid된다 :

  2. ==============================

    2.PDO SQLite는과 SQLite는 버전 3을 사용하는 경우, 그것은 다음과 같이 할 수있다 :

    PDO SQLite는과 SQLite는 버전 3을 사용하는 경우, 그것은 다음과 같이 할 수있다 :

    $insert = "INSERT INTO `module` (`mid`,`description`) VALUES (
                NULL,
                :text
                );
            ";
    $stmt = $conn->prepare($insert);
    $stmt->execute(array(':text'=> $text));
    
    echo $conn->lastInsertId()
    
  3. ==============================

    3.그것은) (LAST_INSERT_ROWID있다

    그것은) (LAST_INSERT_ROWID있다

  4. ==============================

    4.sqlite_last_insert_rowid (자원 $의 dbhandle)

    sqlite_last_insert_rowid (자원 $의 dbhandle)

  5. ==============================

    5.이것은 나를 위해 노력하고 짧은 C #을 방법입니다. INT32 내 목적을 위해 큰 충분하다.

    이것은 나를 위해 노력하고 짧은 C #을 방법입니다. INT32 내 목적을 위해 큰 충분하다.

    public static Int32 GetNextID( SqliteConnection AConnection )
    {
      Int32 result = -1;
    
      using ( SqliteCommand cmd = AConnection.CreateCommand() )
      {
        cmd.CommandText = "SELECT last_insert_rowid();";
        using ( SqliteDataReader r = cmd.ExecuteReader() )
        {
          if ( r.Read() )
            result = (Int32) r.GetInt64( 0 );
        }
      }
    
      return result;
    }
    
  6. from https://stackoverflow.com/questions/8892973/how-to-get-last-insert-id-in-sqlite by cc-by-sa and MIT license