java - Mysql无法将具有特定字符的值存储到数据库

标签 java mysql

我在mysql中的代码:

`SET NAMES 'utf8';`    `SET CHARACTER SET 'utf8';`    `SET COLLATION_CONNECTION = 'utf8_unicode_ci';`    `insert into test (regOznaka) values ("NS 247 SČ"), ("NS 247 SĆ"), ("NS 247 SC");`    

结果是:

Error code 1062, SQL state 23000: Duplicate entry 'NS 247 SĆ' for key 'PRIMARY'

我该如何解决这个问题?

最佳答案

A primary key, also called a primary keyword, is a key in a relational database that is unique for each record. It is a unique identifier, such as a driver license number, telephone number (including area code), or vehicle identification number (VIN). A relational database must always have one and only one primary key.

以下是将 ID 属性定义为 CUSTOMERS 表中主键的语法。

 REATE TABLE CUSTOMERS(
   ID   INT              NOT NULL,
   NAME VARCHAR (20)     NOT NULL,
   AGE  INT              NOT NULL,
   ADDRESS  CHAR (25) ,
   SALARY   DECIMAL (18, 2),       
   PRIMARY KEY (ID)
);

对于您的查询,您应该使用不同于“NS 247 SĆ”的惰性值

关于java - Mysql无法将具有特定字符的值存储到数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33904834/

相关文章:

php - Mysql搜索以逗号分隔的字符串

php - 将参数传递给模型中的函数

mysql - (LocalDb)\Server_name 在 Visual Studio 2017 中显示连接字符串中的错误

java - 从 Java ResultSet 获取值

java - 是否可以在运行时复制所有资源文件(无需特别命名)?

java - 获取Java中FileWriter正在写入的文件

java - 使用JPA和Hibernate时equals和hashcode应该如何实现

java - 64 位 JVM 的最大可能堆大小是多少?

mysql - 在将记录插入数据库表之前检查

mysql - 使用相同的凭据同时从不同位置写入数据库