dev*_*ang 2 mysql insert subquery
我试图使用以下查询在表中插入数据并出错
insert into filmo_person_song (person_id, song_id, role_id)
select person_id
from filmo_person_song fps, filmo_song fs, filmo_role fr
where fps.song_id = fs.song_id
and fps.role_id = fr.role_id
and fps.person_id = 43629;
Run Code Online (Sandbox Code Playgroud)
ERROR 1136(21S01):列数与第1行的值计数不匹配
我已准确指定了字段..
您试图在每行中插入一个值,但您已指定要写入的三列:
insert into filmo_person_song (person_id, song_id, role_id)
^^^^^^^^^^^^^^^^^^^^^^^^^^^
select person_id
^^^^^^^^^
Run Code Online (Sandbox Code Playgroud)
您需要列出select语句中所有三列的值.以下可能有效:
insert into filmo_person_song (person_id, song_id, role_id)
select fps.person_id, fs.song_id, fr.role_id
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
13372 次 |
| 最近记录: |