我一直无法找到答案.我正在尝试使用唯一的电子邮件地址列创建一个表.而当我这样做
CREATE TABLE users ( email TEXT PRIMARY KEY, password TEXT NOT NULL CHECK(password<>''), UNIQUE (lower(email)) )
使用PDO时,我收到错误:
致命错误:带有消息'SQLSTATE [HY000]的未捕获异常'PDOException':常规错误:1附近"(":script.php中的语法错误:65堆栈跟踪:#0 script.php(65):PDO-> exec ('创建表我们......')在第65行的script.php中抛出#1 {main}
第65 CREATE TABLE
行是该行.如果我取出它UNIQUE
,它工作正常.有没有更好的方法呢?
COLLATE NOCASE
是你的朋友:
CREATE TABLE users ( email TEXT PRIMARY KEY, password TEXT NOT NULL CHECK(password<>''), UNIQUE (email COLLATE NOCASE) )