重复键在 phpmyadmin 中无法识别
ON DUPLICATE KEY unrecognized in phpmyadmin
我有一个 mysql 数据库托管在远程服务器上,我正在使用 InnoDB。其他一切工作正常,但每当我尝试执行以下查询时在 phpmyadmin 上
INSERT INTO User (user_id, location) VALUES (1, 'London') ON DUPLICATE KEY UPDATE location=VALUES('London')
突出显示 ON
、DUPLICATE
、KEY
,因为它们是 unrecognized keywords
请帮忙!
请删除 ON DUPLICATE KEY
部分中的 VALUES(...)
。
INSERT INTO User (user_id, location) VALUES (1, 'London') ON DUPLICATE KEY UPDATE location = 'London'
如果要更新多列,应使用正常的 UPDATE
语法:
INSERT INTO User (firstColumn, secondColumn) VALUES (1, 'London') ON DUPLICATE KEY UPDATE firstColumn = 'ABC', secondColumn = 'DEF';
在使用 ON DUPLICATE KEY
之前,您应该为一列或多列添加索引。您可以使用以下命令添加新索引。
ALTER TABLE `table_name` ADD UNIQUE `unique_index`(`column1`);
对于多列索引,请使用以下命令。
ALTER TABLE `table_name` ADD UNIQUE `unique_index`(`column1`, `column2`);
现在您可以 INSERT/UPDATE
将一行或多行放在一起。
要插入单行,请使用以下命令。
INSERT INTO `table_name` (`column1`,`column2`,`column3`,`column4`) VALUES('value1','value2','value3','value4') ON DUPLICATE KEY UPDATE `column3`='value3', `column4`='value4';
或
INSERT INTO `table_name` (`column1`,`column2`,`column3`,`column4`) VALUES('value1','value2','value3','value4') ON DUPLICATE KEY UPDATE `column3`=VALUES(`column3`), `column4`=VALUES(`column4`);
使用此命令您还可以 INSERT/UPDATE
多行。为此,请使用以下命令。
INSERT INTO `table_name` (`column1`,`column2`,`column3`,`column4`) VALUES('value11','value12','value13','value14'),('value21','value22','value23','value24') ON DUPLICATE KEY UPDATE `column3`=VALUES(`column3`), `column4`=VALUES(`column4`);
我有一个 mysql 数据库托管在远程服务器上,我正在使用 InnoDB。其他一切工作正常,但每当我尝试执行以下查询时在 phpmyadmin 上
INSERT INTO User (user_id, location) VALUES (1, 'London') ON DUPLICATE KEY UPDATE location=VALUES('London')
突出显示 ON
、DUPLICATE
、KEY
,因为它们是 unrecognized keywords
请帮忙!
请删除 ON DUPLICATE KEY
部分中的 VALUES(...)
。
INSERT INTO User (user_id, location) VALUES (1, 'London') ON DUPLICATE KEY UPDATE location = 'London'
如果要更新多列,应使用正常的 UPDATE
语法:
INSERT INTO User (firstColumn, secondColumn) VALUES (1, 'London') ON DUPLICATE KEY UPDATE firstColumn = 'ABC', secondColumn = 'DEF';
在使用 ON DUPLICATE KEY
之前,您应该为一列或多列添加索引。您可以使用以下命令添加新索引。
ALTER TABLE `table_name` ADD UNIQUE `unique_index`(`column1`);
对于多列索引,请使用以下命令。
ALTER TABLE `table_name` ADD UNIQUE `unique_index`(`column1`, `column2`);
现在您可以 INSERT/UPDATE
将一行或多行放在一起。
要插入单行,请使用以下命令。
INSERT INTO `table_name` (`column1`,`column2`,`column3`,`column4`) VALUES('value1','value2','value3','value4') ON DUPLICATE KEY UPDATE `column3`='value3', `column4`='value4';
或
INSERT INTO `table_name` (`column1`,`column2`,`column3`,`column4`) VALUES('value1','value2','value3','value4') ON DUPLICATE KEY UPDATE `column3`=VALUES(`column3`), `column4`=VALUES(`column4`);
使用此命令您还可以 INSERT/UPDATE
多行。为此,请使用以下命令。
INSERT INTO `table_name` (`column1`,`column2`,`column3`,`column4`) VALUES('value11','value12','value13','value14'),('value21','value22','value23','value24') ON DUPLICATE KEY UPDATE `column3`=VALUES(`column3`), `column4`=VALUES(`column4`);