MySQL REPLACE 没有按预期工作

标签 mysql

我的表(名称是主键,id是唯一键):

||   name   || id ||    col_1    ||
===================================
||  test1   ||1234||   test999   ||

查询:

REPLACE INTO `table` (`name`, `col_1`) VALUES ('NOTTEST1', 'test999').

在这种情况下,它不能替换 row,但它确实会替换。我做错了什么?

最佳答案

效果很好!

您可以检查一下表结构是否设置正确。这是我所做的:

表:

CREATE TABLE `test` (
  `name` varchar(25) NOT NULL,
  `id` int(11) DEFAULT NULL,
  `col_1` varchar(25) DEFAULT NULL,
  PRIMARY KEY (`name`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;

insert  into `test`(`name`,`id`,`col_1`) values ('test1',1234,'test999');

当我尝试这个时:

REPLACE INTO test (`name`,`col_1`) VALUES('test11','admin');

它创造了一个新记录。

关于MySQL REPLACE 没有按预期工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33745030/

相关文章:

php - 获取英文版的所有产品 - WooCommerce 和 WPML

php - 使用 MySQL 在聊天消息数据库中建立公共(public)连接

mysql - 从内容帖子中删除选定的文本而不删除帖子本身 (Wordpress)

php - Woocommerce 插件 - 更新库存

java - 你如何为 MySQL X DevAPI 使用 Java 连接池?

javascript - 执行mysql查询后刷新图表(javascript)

php - 如何在数据库的php sdk4中存储facebook的GraphObject?

php - wordpress Wp_query 和日期字段的元查询问题

mysql - 将存储为行的名称值对转换为列

php - 将新的 WordPress 安装连接到预先存在的数据库时出现问题