我想从具有主键和Is Identity属性的列中插入记录到另一个表的另一列 。 例如,
我有一张名为' STU'使用以下列:
我有一张名为' MARK'使用以下列:
M3(非空)
CREATE TABLE STU (SNO INT CONSTRAINT PK_SNO PRIMARY KEY (SNO), NAME VARCHAR(25), CLASS VARCHAR(20), SECTION CHAR );
CREATE TABLE MARK(MSNO INT CONSTRAINT FK_MSNO FOREIGN KEY (MSNO) REFERENCES STU(SNO), M1 INT, M2 INT, M3 INT);
正如标题所说我试图插入1表中选择其他表中的值。
INSERT INTO MARK (MSNO, M1, M2, M3) SELECT SNO FROM STU WHERE SNO = '%', '100','100','100';
INSERT INTO MARK (MSNO, M1, M2, M3) SELECT SNO FROM STU WHERE SNO = '%' values ('100','100','100');
这两个插入查询都抛出错误
答案 0 :(得分:0)
INSERT INTO MARK (MSNO, M1, M2, M3)
SELECT SNO FROM STU WHERE SNO = '%' values ('100','100','100');
我认为你的意图是:
INSERT INTO MARK (MSNO, M1, M2, M3)
SELECT SNO, '100', '100', '100' FROM STU WHERE SNO = '%'
SELECT
语句描述了要插入的数据。它必须是有效的SELECT
语句。追加VALUES
无法实现这一目标。
如果您需要在插入之前可视化您要插入的内容,只需先运行SELECT
查询。