insert的语法不是这样的。 insert into table values(.....) mysql低版本不支持子查询
分开写不就完了? select @bid:=book_id from rd8_read8_book where book_title='天下无贼'; insert into rd8_read8_volume (book_id,volume_name,volume,chapter) values(@bid,'作品相关',1);
insert into rd8_read8_volume set book_id=( select book_id from rd8_read8_book where book_title='天下无贼'),volume_name='作品相关',volume_chapterorderid=1 ??? 即便你的mysql支持子查询,这样写也是错误的! 因为 select book_id from rd8_read8_book where book_title='天下无贼'; 可能产生一条以上的记录 正确的写法是 insert into rd8_read8_volume (book_id,volume_name,volume_chapterorderid) select book_id,'作品相关',1 from rd8_read8_book where book_title='天下无贼'
insert into table values(.....)
mysql低版本不支持子查询
select @bid:=book_id from rd8_read8_book where book_title='天下无贼';
insert into rd8_read8_volume (book_id,volume_name,volume,chapter) values(@bid,'作品相关',1);
???
即便你的mysql支持子查询,这样写也是错误的!
因为 select book_id from rd8_read8_book where book_title='天下无贼'; 可能产生一条以上的记录
正确的写法是
insert into rd8_read8_volume (book_id,volume_name,volume_chapterorderid) select book_id,'作品相关',1 from rd8_read8_book where book_title='天下无贼'