所以我正在编写一个脚本,希望用新值填充我的数据库。数据与它们所处的顺序一一对应。数据存储在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丢失,我想正确添加它们而不跳过任何地址,因为我的行数与地址相同。
答案 0 :(得分:2)
如果您在桌面上有PRIMARY KEY
或UNIQUE 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;