MySQL中如何向单行插入多个值?
MySQL单行插入多值的正确实现方法
你的插入语句执行失败,大概率是因为没有显式指定目标列,或者值的数量、类型与表结构不匹配。以下是可行的解决方法:
1. 显式指定列名(推荐写法)
这种方式能避免表结构变化导致的错误,同时清晰对应每个值的目标列:
INSERT INTO table_RekamMedis (rm_code, visit_date, doctor_code, doctor_name, patient_code, patient_address, drug_code, drug_name, dosage) VALUES ('RM001', '1999-05-01', 'D01', 'Dr Zurmaini', 'S11', 'Tropicana', 'B01', 'Sulfa', '3dd1');
注意:需要把括号里的列名替换成table_RekamMedis表的实际字段名,确保值的顺序和列名顺序一一对应。
2. 不指定列名的写法(需严格匹配表结构)
如果不指定列名,必须保证VALUES里的值数量、顺序、数据类型和表的列完全一致:
INSERT INTO table_RekamMedis VALUES ('RM001', '1999-05-01', 'D01', 'Dr Zurmaini', 'S11', 'Tropicana', 'B01', 'Sulfa', '3dd1');
如果执行失败,先排查这几点:
- 检查值的数量是否和表的列数完全相等
- 确认每个值的数据类型与对应列匹配(比如日期格式是否符合MySQL要求,数值类型不要加单引号)
- 检查是否有非空列未提供值
若仍有问题,查看MySQL返回的错误提示,根据提示调整语句即可。
内容的提问来源于stack exchange,提问作者Dwi Fajar
相关产品推荐
相关产品推荐

