| 
 | Allegro CL version 10.1 Unrevised from 10.0 to 10.1. 10.0 version | ||||||||||
Arguments: cols-and-vals &key table db showsql on-dup-key
insert-db is a macro that creates an sql statement to insert a row into a table.
db should be a mysql object returned
by connect. The value
of *mysql* is a
suitable value (and the default).
table specifies the table in the database into which the new row will be inserted. There is no meaningful default: you must specify a string naming a table as the value.
If showsql is specified true, the generated sql statement will be printed.
cols-and-vals specifies the columns and values. It looks like a let binding list:
The value of on-dup-key has the same form as cols-and-vals and specifies which columns should be set to which values if the insert tries to insert a row with the same values in key columns as an existing row. Using this argument will save you the trouble of checking if a row exists and then either doing an insert or an update based on what you found.
cl-user(62): (insert-db ((val 20) 
                         (sq 400)) 
                        :table "square" 
                        :showsql t)
sql: (format nil "insert into square(val,sq) values(~a,~a)" 20 400)
nil
cl-user(63): 
If you are inserting a string or blob value you should specify a third
value of :text in the
cols-and-vals list.
cl-user(63): (sql "create table atext(ttt text)") nil cl-user(64): (insert-db ((ttt "foo" :text)) :table "atext") nil
If you do not specify :text and and the value to be
stored in the column is a string then the string is put in the sql
statement verbatim. This is useful to store the value of mysql
built-in functions.
cl-user(67): (insert-db ((val "now()") 
                         (sq "now()*now()")) 
                        :table "square")
nil
cl-user(68): 
See mysql.htm for information on the Allegro MySQL facility.
Copyright (c) 1998-2022, Franz Inc. Lafayette, CA., USA. All rights reserved.
This page was not revised from the 10.0 page.
Created 2019.8.20.
| 
 | Allegro CL version 10.1 Unrevised from 10.0 to 10.1. 10.0 version | ||||||||||