1

所以我正在编写一个脚本,希望可以用新值填充我的数据库。数据按它们所在的顺序一一对应。数据存储在 PHP 中的一个数组中。所以第一行将映射到我拥有的第一个元素,第二行和第二个数据,依此类推。

我打算只是回显它并从命令提示符传递 sql ALTER 语句。所以我的问题是,如何在不知道 ID 的情况下通过向某个列添加/更改新数据来更改一行。我所拥有的只是按照它们所在的顺序进行的 1 对 1 对应。

谢谢,非常感谢任何帮助。

编辑:

| id  | key                               | name               | address             

+-----+-----------------------------------+--------------------+----------------
|   1 | quests_buildloggingcamp_type      | Build              |                            
|
|   3 | quests_buildquarry_type           | Build              |                 

所以我在另一个文档中有这些数据。

1. 394 cakeville road.       
2. 2912 mark street.
3. more addresses...

我想将第一个地址添加到第一行(id = 1),将第二个地址添加到第二行(id = 3)。我可以每次增加 ID,但是因为我删除了一行,所以缺少 ID=2,我想正确添加它们而不跳过任何地址,因为我的行数与地址相同。

4

1 回答 1

2

如果你有一个PRIMARY KEYorUNIQUE KEY在桌子上,那么这样的东西对你有用:

例如,如果您有一个UNIQUE KEYon 列a,则执行以下操作:

INSERT INTO table (a,b,c) VALUES (1,2,3)
ON DUPLICATE KEY 
       UPDATE b = 2,
              c = 3;

有关语法和示例,请访问此处

编辑:在脚本内部循环尝试此查询,以将每条记录更新到下一行:

一次外循环:

UPDATE table
SET address = '';

内循环:

UPDATE table
SET address = 'new address'
WHERE address = ''
ORDER BY id ASC
LIMIT 1;
于 2012-07-26T04:44:05.587 回答