(%sequence-name-to-table sequence-name))
database :auto nil))))
+(defmethod database-last-auto-increment-id ((database mysql-database) table column)
+ (declare (ignore table column))
+ (car (query "SELECT LAST_INSERT_ID();"
+ :flatp t :field-names nil
+ :database database)))
+
(defmethod database-create (connection-spec (type (eql :mysql)))
(destructuring-bind (host name user password) connection-spec
(let ((database (database-connect (list host "" user password)
(defgeneric database-sequence-last (name database)
(:documentation "Select the last value in sequence NAME in DATABASE."))
+(defgeneric database-last-autoincrement-id (database table column)
+ (:documentation "Many databases have the notion of an auto-increment
+ id; i.e. a sequence implicitly on a table. This function should
+ return that ID." ))
+
+
(defgeneric database-start-transaction (database)
(:documentation "Start a transaction in DATABASE.")
(:method ((database t))
#:database-list-sequences
#:database-sequence-last
#:database-sequence-exists-p
+ #:database-last-auto-increment-id
#:database-list-attributes
#:database-attribute-type
#:database-type-library-loaded