Mysql:如何在不知道ID的情况下将数据添加到行中?

时间:2012-07-26 04:37:50

标签: mysql sql

所以我正在编写一个脚本,希望用新值填充我的数据库。数据与它们所处的顺序一一对应。数据存储在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丢失,我想正确添加它们而不跳过任何地址,因为我的行数与地址相同。

1 个答案:

答案 0 :(得分:2)

如果您在桌面上有PRIMARY KEYUNIQUE KEY,那么这样的内容对您有用:

e.g。如果列UNIQUE KEY上有a,请执行以下操作:

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

有关语法和示例,请访问here

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

外循环一次:

UPDATE table
SET address = '';

内圈:

UPDATE table
SET address = 'new address'
WHERE address = ''
ORDER BY id ASC
LIMIT 1;