我有一个数组,我使用INSERT语句插入数据库,如下所示。
INSERT INTO import_io
(`total`, `thru`, `name/_source`, `name`, `name/_text`, `strokes`)
VALUES ('-6','F','/golf/pga/players/Marc+Leishman/8442/scorecard/2014/35','http://sports.yahoo.com/golf/pga/players/Marc+Leishman/8442/scorecard/2014/35','Marc Leishman','64')
无论如何都要使用UPDATE语句而不是INSERT而必须拆分这些值,以便我可以像......一样......
UPDATE import_io
SET (`total`, `thru`, `name/_source`, `name`, `name/_text`, `strokes`)
VALUES ('-6','F','/golf/pga/players/Marc+Leishman/8442/scorecard/2014/35','http://sports.yahoo.com/golf/pga/players/Marc+Leishman/8442/scorecard/2014/35','Marc Leishman','64')
WHERE 'name/_text' = 'Marc Leishman'
答案 0 :(得分:1)
问:无论如何都要使用类似于此格式的UPDATE语句:
UPDATE mytable
SET (col1, col2)
VALUES ('val1', 'val2')
WHERE somecol = 'someval'
答:不,UPDATE
语句没有类似的语法。
UPDATE
语句的语法非常具体。这里没有必要重复文档。参考:http://dev.mysql.com/doc/refman/5.5/en/update.html
目前尚不清楚你想要实现的目标。所以我对推荐INSERT ... ON DUPLICATE KEY UPDATE ...
犹豫不决,尽管这对于"刷新"是一种有用的模式。来自源文件的表(如果表中有UNIQUE KEY,并且源中提供了UNIQUE KEY的值。)
我还建议使用INSERT
加载临时表,然后运行多表UPDATE
语句来更新临时表中的目标表。
答案 1 :(得分:0)
这是不可能的。
其他解决方案:使用PHP创建查询字符串,并使用单元格名称和内容数组进行更新或插入。自动构建查询字符串。
或使用“复制键”组合插入或更新
insert into
import_io (total, thru)
VALUES('$total', '$thru')
on duplicate key
update set total='$total
....
答案 2 :(得分:0)
您可以使用SELECT
修改数据并使用UPDATE
更新列来获取数组。
由于我不知道您正在使用的编程语言,我无法举例说明。
答案 3 :(得分:0)
要插入:
INSERT INTO Table_name(the_names_of_variebles)VALUES (In_Values_in_the_same_pattern)
要导入:
SELECT * FROM Table_name WHERE variable_name ='input_to_find'