php - 通过excel上传数据到Db

标签 php mysql excel vba

我在 MYSQL 工作台数据库中有一个表 PARTY,列 party_id 是主键,非空且唯一

Party_id  Name     Currency
10080     Person    INR
10081     Party_GP  USD

我在 excel 中有以下数据,我将通过宏上传这些数据(此处 party_id 将为空)

Party_id   Name         Currency 
           Party_group  GBP
           Company      USD
           Person       INR

我有将 excel 数据上传到 MYSQL 数据库的宏代码。因为这里 party_id 是 null ,我无法将记录插入数据库。我需要宏代码从数据库的表 PARTY 中获取最大(派对 ID)+1,它应该在 excel 上传期间更新 party_id 的 excel 数据。

上传后DB表中的结果应该是这样的

Party_id   Name         Currency
10080     Person        INR
10081     Party_GP      USD 
10082      Party_group  GBP
10083      Company      USD
10084      Person       INR

最佳答案

我在尝试将 csv 导入 MySQL Workbench 时遇到了类似的问题。我发现使用 insert into 更容易语句,它是通过连接单元格周围的命令生成的。

在工作台中,确保您的主键设置为自动递增,然后我将直接复制并粘贴串联单元格(下例中的 D 列)的内容并运行查询。

| Party_id | Name        | Currency |                                                                          |
|----------|-------------|----------|--------------------------------------------------------------------------|
|          | Party_group | GBP      | ="INSERT INTO `PARTY`,(`Name`, `Currency`) VALUES (`"&B2&"`, `"&C2&"`);" |
|          | Company     | USD      | ="INSERT INTO `PARTY`,(`Name`, `Currency`) VALUES (`"&B3&"`, `"&C3&"`);" |
|          | Person      | INR      | ="INSERT INTO `PARTY`,(`Name`, `Currency`) VALUES (`"&B4&"`, `"&C4&"`);" |

复制 D 列会导致将以下内容粘贴到工作台中: INSERT INTO <code>PARTY</code> (<code>Name</code>, <code>Currency</code>) VALUES (<code>Party_group</code>, <code>GBP</code>); INSERT INTO <code>PARTY</code> (<code>Name</code>, <code>Currency</code>) VALUES (<code>Company</code>, <code>USD</code>); INSERT INTO <code>PARTY</code> (<code>Name</code>, <code>Currency</code>) VALUES (<code>Person</code>, <code>INR</code>);

只要 pasty_id 设置为自动递增,它应该更新到最高值 +1

关于php - 通过excel上传数据到Db,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28345155/

相关文章:

mysql - 使用 git 在测试和生产环境之间同步数据库

python - 将列插入我数据库中的所有表

php - 如何使 mysql "num_rows"在 "SELECT TABLE_NAME FROM information_schema.TABLES"中工作?

java - 将 Excel 文件流式传输到 S3 内存中?为什么 ZipOutputStream 上的 ByteOutputStream.reset() 会导致写入无法工作?

regex - 如果相邻单词以相同字母开头,则将空格替换为 "/",否则 "&"Excel 宏 VBA

php - Eclipse 表达式调试面板将数组截断为 31 个元素

php - Yii2 高级模板定制

php - 如何使用 PHP 将列名而不是索引号的 CSV/excel 文件上传到 MySql?

php - SQL和PHP日期时间...最直接的方法

excel - 在 Access VBA 中将子例程应用于日期范围