Mysql
 sql >> Baza danych >  >> RDS >> Mysql

LAST_INSERT_ID() zawsze zwraca 0 (RMySQL) - osobny problem z połączeniem

Wstawiasz NULL wartości w kolumnie Klucz podstawowy. Ponieważ nie możesz mieć dwóch wierszy z tym samym PK, prawdopodobnie nie wstawiasz żadnych rzeczywistych danych (co jest prawdopodobnie błędem, który chcesz przechwycić). Wypróbuj:

dbSendQuery(con, "INSERT INTO t VALUES(5);")

Wykonanie tego powinno dać dwie różne wartości dla last_insert_id.

Edycja:niezrozumiana. Zobacz tutaj aby uzyskać szczegółowe informacje na temat LAST_INSERT_ID . Poprawiona odpowiedź:jeśli nie określisz wartości w AUTO_INCREMENT kolumna, następnie powinieneś otrzymać LAST_INSERT_ID zwrócona wartość. W takim przypadku spróbuj:

INSERT INTO t DEFAULT VALUES


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak mogę wykonać FULL OUTER JOIN w MySQL?

  2. gem mysql2 skompilowany dla niewłaściwej biblioteki klienta mysql

  3. Recenzja produktu — gwiezdna naprawa bazy danych MySQL

  4. Hibernacja — ignorowanie ograniczenia unikalnej kolumny

  5. Procedura składowana, która automatycznie usuwa wiersze starsze niż 7 dni w MYSQL