0

我已经制作了 2 个表 第二个表由引用第一个表的主键的外键组成 第二个表由 3 个字段 id(主键),订单号,fid 我正在使用以下命令

插入 table2 (order no,fid) values(1,(select id from table1 where name='abc');

sql语法错误enter code here

4

3 回答 3

1

ORDER是一个保留字。您必须使用反引号引用它:`order no`

此外,您可能应该使用 MySQL 的INSERT ... SELECT语法:

INSERT INTO table2 (`order no`, fld)
SELECT 1,id FROM table1 WHERE name = 'abc'
于 2013-01-31T14:33:03.500 回答
0

你缺少额外的右括号

insert into table2 (`order no`,fid) 
values(1,(select id from table1 where name='abc' LIMIT 1));
于 2013-01-31T14:30:23.630 回答
0

插入`table2` (`order no`,`fid`) values(1,(select id from table1 where name='abc');

已编辑...可能是问题行:他的错误是无法添加或更新子行:外键约束失败(abc/demo1,CONSTRAINT fid FOREIGN KEY (id) REFERENCES demo (id))

应该是 (abc/demo1,CONSTRAINT fid FOREIGN KEY ( fid ) REFERENCES demo (id))

于 2013-01-31T14:35:21.587 回答