MySQL中CREATE TABLE语句报错排查:解析器提示IF附近存在问题
问题解决:MySQL CREATE TABLE语句报错
你的语句报错根源并非IF本身,而是字段名错误使用了单引号。MySQL里,标识符(表名、字段名)需用反引号(`)包裹(关键字或含特殊字符时必须用,普通字段名可省略),单引号仅用于包裹字符串值。
修正后的语句如下:
CREATE TABLE IF NOT EXISTS statements ( `symbol` VARCHAR(10), `statement` VARCHAR(20), `frq` VARCHAR(2), `date` DATETIME, `account` VARCHAR(200), `value` BIGINT, PRIMARY KEY(`symbol`, `statement`, `date`) );
说明:
- 把所有单引号(')替换为反引号(`),让MySQL能正确识别字段标识符
date是MySQL关键字,必须用反引号包裹;其他字段名虽非关键字,统一用反引号也能避免潜在命名冲突
内容的提问来源于stack exchange,提问作者YeOldHinnerk
相关产品推荐
相关产品推荐

