MySQL中向表中填充数据主要通过INSERT语句来实现。以下是基础概念、优势、类型、应用场景以及常见问题的解答:
INSERT INTO table_name (column1, column2, column3, ...)
VALUES (value1, value2, value3, ...);
INSERT INTO table_name (column1, column2, column3, ...)
VALUES
(value1_1, value1_2, value1_3, ...),
(value2_1, value2_2, value2_3, ...),
...
(valueN_1, valueN_2, valueN_3, ...);
INSERT INTO table2 (column1, column2, column3, ...)
SELECT column1, column2, column3, ...
FROM table1;
原因:尝试插入的主键值已存在于表中。 解决方法:
INSERT IGNORE
忽略错误,或者使用ON DUPLICATE KEY UPDATE
来更新现有记录。INSERT INTO table_name (id, column1, column2)
VALUES (1, 'value1', 'value2')
ON DUPLICATE KEY UPDATE column1='value1', column2='value2';
原因:单行插入操作过多。 解决方法:
START TRANSACTION;
INSERT INTO table_name (column1, column2) VALUES (val1, val2), (val3, val4), ...;
COMMIT;
原因:插入的数据与表定义的数据类型不一致。 解决方法:
CAST()
或CONVERT()
。INSERT INTO table_name (column1) VALUES (CAST('123' AS UNSIGNED));
通过以上方法,可以有效地向MySQL表中填充数据,并解决在操作过程中可能遇到的常见问题。
领取专属 10元无门槛券
手把手带您无忧上云