这是创建 MySQL 表的代码:
$dbcon = @mysqli_connect (DB_HOST, DB_USER, DB_PASSWORD, DB_NAME) ;
$q =
"CREATE TABLE list
(
fname VARCHAR(30) NOT NULL,
email VARCHAR(60) NOT NULL,
PRIMARY KEY (fname)
)";
$result = @mysqli_query ($dbcon, $q);
上表不适合我的需要,因为我的 fname
输入包含非拉丁字符!我得到 fname
值,例如 ????
。
我读过有关“utf8_general_ci”的内容,但当我只需要该排序规则的一个字段为“utf8_general_ci”时,此地址指向整个表和数据库。
有人能给我一个创建“多重排序规则”表的代码吗?
最佳答案
CREATE TABLE list
(
fname VARCHAR(30) NOT NULL COLLATE utf8_general_ci,
email VARCHAR(60) NOT NULL,
PRIMARY KEY (fname)
)
看看MySQL Reference Manual 。您可以使用 COLLATE
关键字轻松更改单个列的排序规则,如上面的示例所示。
每个表都有一个标准排序规则(通常是预定义的)。如果您没有在 CREATE
语句中指定其他排序规则,或者之后不更改表,它将回退到表的标准排序规则。
关于php - 如何创建包含各种排序规则的 MySQL 表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24754727/