草庐IT

unique_name

全部标签

MySQL 8.0 lower_case_table_names 1

我正在新的Ubuntu18.04VM上设置MySQL8.0,但我无法将变量lower_case_table_names设置为1。我试过像以前的版本一样更改/etc/mysql/mysql.conf.d/mysqld.cnf[mysqld]但没有成功,无法重新启动mysql服务。这必须特定于8.0,因为我可以在以前的版本中设置它。 最佳答案 我在Windows上遇到了同样的问题,我发现解决它的唯一方法是卸载/重新安装MySql服务器。在安装过程中,我能够为表名指定大写。 关于MySQL8.

mysql - 在所有表中插入单个 table_name 作为列值

我使用的数据库包含数百个具有完全相同结构和相同语法的表。每天都会创建更多的表,因此数据库会不断增长。为了动态附加越来越多的表,我使用了一个运行良好的MySQL过程。然而,一旦附加,我就无法识别行的来源,因为表格不包含任何要区分的信息。因此,我想在以下过程中集成一个MySQL语句,以自动从information_schema中获取TABLE_NAME并将其设置为对应表。我已经为此创建了一个专栏,但在调整程序方面遇到了困难。我真的很感激任何帮助或建议来解决这个问题。CREATEPROCEDUREgetallarbeitsplaene(recordOffsetINT,recordCountI

mysql - SQL 设计模式 : how do I store multiple unique ids from different sites in mashup?

我正在构建一个混搭来存储来自多个RESTAPI数据源的项目的元数据。我希望能够根据跨所有不同数据源汇总的数据生成典型的提要(最新的、评价最高的、观看次数最多的等),并添加标签(即多对多关系)。我的问题是每个数据源都有不同的方式通过它们的RESTAPI发布唯一ID。我需要有关用于我的MySQL数据模型的最佳模式的建议。我目前的解决方案是为所有项目使用1个表和一个复合键,但连接很长,而且cakePHP本身不处理复合键:datasource_idsmallint,datasource_item_idVARCHAR(36),//somedatasourcesissuealphakeys问:向我

mysql - 如何在不使用 UNIQUE 约束的情况下保证 MySQL 中的行唯一性?

我有一些相当简单的要求,但我不确定如何实现它们:我有多个并发线程运行同一个查询查询提供一个“字符串”值——如果它存在于表中,查询应返回匹配行的ID,如果不存在,查询应插入“字符串”值并返回最后插入的ID'string'列是(而且必须是)文本列(它大于varchar255)所以我不能将它设置为唯一-必须通过访问机制强制执行唯一性查询需要是存储过程格式(MySQL不支持表锁)如何保证'string'是唯一的?在另一个线程读取表但没有找到匹配的“字符串”项后,如何防止其他线程写入表?感谢任何建议.. 最佳答案 如果您确定不能使用DB约束,

mysql - 我想在 mysql 中打开 lower_case_table_names,但 PLESK 10 停止工作

关闭。这个问题是off-topic.它目前不接受答案。想改进这个问题吗?Updatethequestion所以它是on-topic用于堆栈溢出。关闭9年前。Improvethisquestion我想分享我对上述问题的解决方案,这样可以节省您一些时间。解决方法很简单。您只需重命名PLESK10使用的所有表(数据库psa)。使用您喜欢的mysql客户端并连接到数据库,然后执行以下sql脚本:USEpsa;RENAMETABLEAPSApplicationItemstoapsapplicationitems;RENAMETABLEAPSCatalogUpdatestoapscatalogup

mysql - 在 MySQL 中使用带有 NULL 字段的 UNIQUE 索引?

我可以定期检查当前在线的用户列表。我想把它变成有用的东西,比如每个用户登录/注销时间的条目列表。除了检查谁当前在线之外,没有其他方法可以确定此信息。经过一番思考,我想到了这样的事情:CREATETABLEonlineActivity(idINTUNSIGNEDNOTNULLAUTO_INCREMENT,nameCHAR(32)NOTNULL,login_timeDATETIMENOTNULL,logout_timeDATETIMENOTNULL,timeSMALLINT(3)NOTNULLDEFAULT0,onlineBOOLDEFAULTNULL,UNIQUE(name,online

php - 将记录插入应该在 10000 - 99999 之间并且在 unique_no 字段记录中不存在的记录

我在已经包含一些记录的表中有一个字段名称“unique_no”。我想将记录选择到字段“unique_no”中,这应该是,-在10000-99999和之间-已经不存在于unique_no字段记录中。所以请建议我执行此操作的方法。提前致谢。 最佳答案 将字段unique_no设置为AUTO_INCREMENT。设置表选项AUTO_INCREMENT=10000;插入新记录,为unique_no字段指定NULL。 关于php-将记录插入应该在10000-99999之间并且在unique_no字

mysql - 我怎么能.... SELECT *, lcase(name) AS name FROM table

我想修改名称列并使其小写,但我还想选择所有其他列。有没有一种方法可以做到这一点而不必写下每一列的名称。我正在尝试做这样的事情:SELECT*,lcase(name)ASnameFROMtable;而不是像这样写出所有的列名:SELECTlcase(name)ASname,zip,address,age,birthday,etcFROMtable;这可能吗? 最佳答案 你不能,但一个选择是使用View:createviewtable_with_lower_nameasselectlcase(name)ASname,zip,addres

MySQL 复制 : struggling with replicate-rewrite-db to change the database name

我有我的主数据库,其中有一个表,产品(稍后会有更多,这只是开发)。操作系统:CentOS6.4我已将其设置为使用此复制的主服务器:在/etc/my.cnf中:server-id=1binlog-do-db=product_databaserelay-log=/var/lib/mysql/mysql-relay-binrelay-log-index=/var/lib/mysql/mysql-relay-bin.indexlog-error=/var/lib/mysql/mysql.errmaster-info-file=/var/lib/mysql/mysql-master.infore

mysql - 来自 NDBCLUSTER 的错误 4239 'Trigger with given name already exists'

我们正在运行MySQL集群版本:mysql>SELECTVERSION();+------------------------------+|VERSION()|+------------------------------+|5.6.15-ndb-7.3.4-cluster-gpl|+------------------------------+尝试创建一个表CREATETABLExy(xaVARCHAR(36)NOTNULLDEFAULT'',xbVARCHAR(255)NOTNULL,xcTIMESTAMPNOTNULL,xdVARCHAR(36)DEFAULTNULL,xeVA