Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

truy vấn chèn jOOQ với các khóa đã tạo trả về

Cú pháp bạn đang sử dụng là để chèn nhiều bản ghi. Thao tác này sẽ chèn 4 bản ghi, mỗi bản ghi một trường.

.values(node.getParentid())
.values(node.getName())
.values(node.getRem())
.values(node.getUipos())

Nhưng bạn đã khai báo 4 trường, vì vậy điều đó sẽ không hoạt động:

create.insertInto(Tblcategory.TBLCATEGORY, 
  Tblcategory.PARENT_ID, Tblcategory.NAME, Tblcategory.REM, Tblcategory.UIPOS)

Điều bạn có thể muốn làm là:

Result<TblcategoryRecord> result = create
  .insertInto(Tblcategory.TBLCATEGORY, 
    Tblcategory.PARENT_ID, Tblcategory.NAME, Tblcategory.REM, Tblcategory.UIPOS)
  .values(node.getParentid(), node.getName(), node.getRem(), node.getUipos())
  .returning(Tblcategory.CATEGORY_ID)
  .fetch();

Hoặc cách khác:

Result<TblcategoryRecord> result = create
  .insertInto(Tblcategory.TBLCATEGORY) 
  .set(Tblcategory.PARENT_ID, node.getParentid())
  .set(Tblcategory.NAME, node.getName())
  .set(Tblcategory.REM, node.getRem())
  .set(Tblcategory.UIPOS, node.getUipos())
  .returning(Tblcategory.CATEGORY_ID)
  .fetch();

Có thể, bạn thậm chí còn tốt hơn khi sử dụng

TblcategoryRecord result =
  // [...]
  .fetchOne();

Để biết thêm chi tiết, hãy xem hướng dẫn sử dụng:

http://www.jooq. org / doc / 2.6 / manual / sql-building / sql-statement / insert-statement /

Hoặc Javadoc để tạo INSERT câu lệnh trả về giá trị:

http://www.jooq.org/javadoc/latest/org /jooq/InsertReturningStep.html



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Mysql chọn nơi không có trong bảng

  2. PDO ::PARAM_INT có thừa không?

  3. Lỗi truy vấn SQL

  4. MySQL Integer 0 so với NULL

  5. Truy vấn Mysql với biến mysql không hoạt động trong Zend Framework 1