现有“进货批次表”和“进货商表”,我想从 进货商表 中选择 进货商ID 插入到 进货批次表 中,大概如下面代码的意思:
mysql> INSERT INTO 进货批次表 (Date, 进货商ID) VALUES ('2008-3-14', SELECT ID FROM 进货商表 WHERE 进货商='李四');可上面这条命令是错误的,请问我应该怎样实现我的目的,用什么命令?

解决方案 »

  1.   

    INSERT INTO 进货批次表 (Date, 进货商ID) 
    SELECT '2008-3-14',ID FROM 进货商表 WHERE 进货商='李四'
      

  2.   

    为什么不在你的程序中直接取到 进货商表.ID, 你可以在你的程序界面上以下拉框或其它方式让用户选择进货商的名字,但实际返回 进货商表.ID ,这样可以避免进货商重名的问题。
      

  3.   

    wwwwb 为我提供了解决方案,acmain 却提供了另一种思路,非常感谢两位。wwwwb 提供了从另一表向一表中插入记录的示例,但我还想知道如何从 另多个表 中向一表插入记录的方法,谁举个例子。
    INSERT INTO 进货批次表 (Date,进货商ID,分类ID) SELECT '2008-3-14', 进货商表.ID, 分类表.ID ...
      

  4.   

    insert into t1(f1,f2,f3,f4)
    select s1.f1,s1.f2,s2,f3,s2.f4 from s1,s2 where s1.id=s2.id;