2024-03-29 00:36:22 发布
网友
我试图使用另一个表的输入INSERT INTO一个表。尽管这对于许多数据库引擎来说是完全可行的,但我似乎总是很难记住今天的SQL引擎(MySQL、Oracle、SQL Server、Informix和DB2)的正确语法。
INSERT INTO
SQL
是否有一个来自SQL标准(例如,SQL-92)的银弹语法允许我插入值而不必担心底层数据库?
@Shadow_x99:这应该很好,而且您还可以有多个列和其他数据:
INSERT INTO table1 ( column1, column2, someInt, someVarChar ) SELECT table2.column1, table2.column2, 8, 'some string etc.' FROM table2 WHERE table2.ID = 7;
编辑:我应该提到,我只在Access、SQL 2000/2005/Express、MySQL和PostgreSQL中使用过这种语法,所以应该涵盖这些语法。一位评论人士指出,它将与SQLite3一起工作。
尝试:
INSERT INTO table1 ( column1 ) SELECT col1 FROM table2
这是标准的ANSI SQL,应该可以在任何DBMS上工作
它绝对适用于:
要从另一个表中获取多值INSERT中的一个值,我在SQLite3中执行了以下操作:
INSERT
INSERT INTO column_1 ( val_1, val_from_other_table ) VALUES('val_1', (SELECT val_2 FROM table_2 WHERE val_2 = something))
@Shadow_x99:这应该很好,而且您还可以有多个列和其他数据:
编辑:我应该提到,我只在Access、SQL 2000/2005/Express、MySQL和PostgreSQL中使用过这种语法,所以应该涵盖这些语法。一位评论人士指出,它将与SQLite3一起工作。
尝试:
这是标准的ANSI SQL,应该可以在任何DBMS上工作
它绝对适用于:
要从另一个表中获取多值
INSERT
中的一个值,我在SQLite3中执行了以下操作:相关问题 更多 >
编程相关推荐