Mysql程序从文件插入数据

标签 mysql stored-procedures

我有一个将数据保存到表中的应用程序,例如my_table

my_table
id | name | salary

这是一个数据输入应用程序,没有集中式数据库。所有数据输入完成后,我必须合并数据库。我的计划是从 DB2 导出插入语句并将其附加到 DB1。所以我写了一个程序如下:

CREATE PROCEDURE insertToTable
DECLARE max_id INT DEFAULT 1
BEGIN
    SELECT MAX(id) INTO max_id FROM my_table

    INSERT INTO table(id,name,salary) VALUES(max_id+1,'tom',1000);
    INSERT INTO table(id,name,salary) VALUES(max_id+1,'john',1500);
    ....//a lot of statements 

END

这里我只是将 DB2 的 id 增加 DB1 的 max(id) 以避免冲突。它工作得很好。

但是有些数据库有大量记录。我可以使用“max_id”变量来获取这些插入语句。然后我可以从该过程内的文件执行这些“插入”语句吗?或者有什么更好的解决办法..

最佳答案

通过添加序列使“Id”列自动递增。 然后创建一个在插入时递增的触发器。

关于Mysql程序从文件插入数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19902768/

相关文章:

sql-server - 如何在SSIS中调用存储过程?

mysql - 使用 MySQL 中的两个表获取名称的存储过程

SQL自定义优先级

MySQL : How to identify users I follow or follow me from other person's followers?

php - 对数字函数行数的 fatal error 调用

没有子查询的MySQL求和负值和正值求和

MySQL 查询使用多个表中的数据计算最新的平均价格

c# - Visual Studio 2017在调试时尝试使用IP连接到本地Mysql

mysql - 带有表变量和返回值输出的动态 SQL

mysql - 使用准备好的语句将表名保存在存储过程内的变量中