【发布时间】:2016-09-09 15:03:56
【问题描述】:
我正在通过将数据添加到现有列中来更新现有表。
我已经有要插入的数据的输出,但是由于记录的数量,我正在寻找将其插入到我的表中的最佳方法,而无需手动写入每行 sql。
这是我要插入的 sql(部分)
INSERT INTO `tbl_user_variables_dobRE` (`user_id`, `value`) VALUES
(150, '1959-11-02'),
(151, '1948-04-20'),
(152, '1961-06-18'),
这是我要插入的表格
id | 7
username | guestinvite
password | BLANK
forname | forname
surname | surname
email | guestinvite@test.com
address_id | 286
type_id | 4
dob | 0000-00-00
plusGuest | 0
update | 2016-02-16 11:54:36
created | 2016-04-04 17:03:12
所以我想将第二项插入到第一项 = id 的“dob”列中
是否可以通过编程方式执行此操作,或者我必须为每一行编写 WHERE 和 OR 语句?
【问题讨论】:
-
不可能。
insert创建新记录。如果你想定位一个已经存在的记录,你必须update。您可能能够使用insert ... on duplicate key update-type 的东西,但由于您没有提供有关表定义的详细信息,所以这不是肯定的。 -
谢谢@MarcB - 我认为这将是一个更新,但希望会有某种我以前没有听说过的块更新命令
-
不。多值语法是特定于
insert的mysql 扩展。更新查询没有等价物。 -
感谢@MarcB 的快速回复-我最好继续我的查找和替换,干杯
标签: mysql sql-server sql-update