我想为表中的所有列提供相同的TimeStamp值。让我们说列是未知的。
有没有办法做到这一点
ExecuteReader.SpanStart - 2
没有指定列名?
更新
假设我有一个名为'student'的表,我有'f_name','m_name'和'l_name'。
让我们说(假设)我做INSERT INTO table VALUES ('one value');
然后我希望我的桌子看起来像这样。
INSERT INTO student VALUES ('John');
答案 0 :(得分:2)
这实际上可以在postgres中完成。我不认为你可以在sqlite中做到这一点。使用以下查询,您可以生成所需的insert语句,而无需知道表的列。将MY_TABLE替换为数据库中的表名。
SELECT 'INSERT INTO MY_TABLE ' || array_to_string(ARRAY(SELECT '' || c.column_name
FROM information_schema.columns As c
WHERE table_name = 'MY_TABLE'
), ',') || ' VALUES (' ||
array_to_string(ARRAY(SELECT '' || '\'MY_VALUE\''
FROM information_schema.columns As c
WHERE table_name = 'MY_TABLE'
), ',') || ');'
As sqlstmt
答案 1 :(得分:0)
Sqlite和Mysql不支持在单个查询上插入多表。
SQLite的 http://www.sqlite.org/lang_insert.html
的MySQL http://dev.mysql.com/doc/refman/5.7/en/insert.html
但是还有一些其他数据库支持这些功能,即Oracle。据我所知。
答案 2 :(得分:0)
如果您知道列数,则可以使用
INSERT INTO table VALUES ('Cardinal',..........,'Cardinal'); //As many times as number of columns
答案 3 :(得分:0)
您可以使用UPDATE
执行此操作:
UPDATE TableName SET ColumnName = 'Value';
只有在表格中已有数据时才会有效。