【发布时间】:2021-07-30 10:20:39
【问题描述】:
我正在尝试获取用户使用此 sql 编写的所有帖子:
'SELECT * FROM users WHERE username=? UNION ALL SELECT * FROM posts WHERE writer_name=?'
我收到了这个错误:
"Illegal mix of collations for operation 'UNION'"
表格
CREATE TABLE `claudioBlog`.`users` (
`id` INT UNSIGNED NOT NULL AUTO_INCREMENT ,
`username` VARCHAR(100) NOT NULL ,
`email` VARCHAR(100) NOT NULL ,
`age` VARCHAR(100),
`discription` VARCHAR (255),
`ocupation` VARCHAR (100),
`profile_image` VARCHAR (100)
`password` VARCHAR(255) NOT NULL ,
PRIMARY KEY (`id`), UNIQUE (`email`)
) ENGINE = InnoDB
CREATE TABLE posts (
id int(11) NOT NULL AUTO_INCREMENT,
title VARCHAR(50) NOT NULL,
category VARCHAR(50) NOT NULL,
body VARCHAR(2000) NOT NULL,
writer_id VARCHAR(50) NOT NULL,
writer_name VARCHAR(50) NOT NULL,
post_img VARCHAR(100),
created_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (id)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
我有什么需要注意的?
【问题讨论】: