On 1/27/2026 11:22 PM, DFS via Python-list wrote:
On 1/27/2026 4:02 PM, Lawrence D’Oliveiro wrote:
[snip]
Just some thoughts:
cSQL = " CREATE TABLE Files "
cSQL += " ( "
cSQL += " FileID INTEGER NOT NULL PRIMARY KEY, "
cSQL += " FolderID INTEGER REFERENCES Folders (FolderID), "
cSQL += " Folder TEXT NOT NULL, "
cSQL += " FileName TEXT NOT NULL, "
cSQL += " FileCreated NUMBER NOT NULL, "
cSQL += " FileModified NUMBER NOT NULL, "
cSQL += " FileSizeKB NUMBER NOT NULL "
cSQL += " );"
Did you know Python does implicit string concatenation, like C and
C++?
I've used other ways here and there, but that style of string-building
is my habit.
other ways that might be a little more efficient:
cSQL = (
" CREATE TABLE Files "
" ( "
" FileID INTEGER NOT NULL PRIMARY KEY, "
" FolderID INTEGER REFERENCES Folders (FolderID), "
" Folder TEXT NOT NULL, "
" FileName TEXT NOT NULL, "
" FileCreated NUMBER NOT NULL, "
" FileModified NUMBER NOT NULL, "
" FileSizeKB NUMBER NOT NULL "
" );"
)
cSQL = " CREATE TABLE Files \
( \
FileID INTEGER NOT NULL PRIMARY KEY, \
FolderID INTEGER REFERENCES Folders (FolderID), \
Folder TEXT NOT NULL, \
FileName TEXT NOT NULL, \
FileCreated NUMBER NOT NULL, \
FileModified NUMBER NOT NULL, \
FileSizeKB NUMBER NOT NULL \
);"
Definitely don't like this trailing slashes format.
What's wrong with the obvious way, which is also the easiest and most
readable?
cSQL = """CREATE TABLE Files
(
FileID INTEGER NOT NULL PRIMARY KEY,
FolderID INTEGER REFERENCES Folders (FolderID),
Folder TEXT NOT NULL,
FileName TEXT NOT NULL,
FileCreated NUMBER NOT NULL,
FileModified NUMBER NOT NULL,
FileSizeKB NUMBER NOT NULL
);"""
If your db doesn't like query strings with embedded newlines, just add
.replace('\n', ' ')
to the end of the above string.
[snip]
--
https://mail.python.org/mailman3//lists/python-list.python.org