草庐IT

alter_column

全部标签

mysql - 在 MySQL 中使用 ALTER TABLE 建立索引需要多长时间?

这可能有点像询问字符串的长度,但统计数据是:Intel双核4GB内存表有800万行,约20列,主要是带有auto_incrementprimaryid的varchars查询是:ALTERTABLEmy_tableADDINDEXmy_index(my_column);我的列是varchar(200)存储是MyISAM数量级,应该是1分钟、10分钟、100分钟?谢谢编辑:好的,它花费了2小时37分钟,而在基本相同的设置下,一台规范较低的机器上花费了0小时33分钟。我不知道为什么要花这么长时间。唯一的可能是产品机HD已满85%,还有100GB可用空间。应该足够了,但我想这取决于可用空间的分

mysql - 执行后有什么方法可以查看 ALTER TABLE? -MySQL

同理SHOWCREATETABLEtblname;带回之前执行的内容,是否可以查看ALTERTABLE查询的SQL?请帮忙? 最佳答案 一个小小的说明:showcreatetable实际上并没有“恢复之前执行的内容”。它只是向您展示了从头开始创建表的DDL。该表可能已创建并多次更改,但showcreatetable反射(reflect)了表的当前状态。至于查找最近在表上运行的任何altertable语句,最好的选择是二进制日志。首先检查是否启用了二进制日志记录:showvariablelike'log_bin';如果是,找到相关时间

php - MySQL 错误 - 无效的日期时间格式 : 1292 Incorrect datetime value: '' for column

我在OsX10.9.2中使用mysql,当我尝试在本地运行我的php网站时出现此错误:无效的日期时间格式:1292不正确的日期时间值:列nameOfTheColumn的“”当我试图在日期时间字段中插入空值时发生错误。该站点在生产环境和其他一些本地计算机上运行良好,因此问题出在数据库中,我必须在本地数据库中解决。读到这个问题,我读到mysql可以在严格模式下运行,所以我编辑/usr/local/mysql/my.cnf并注释掉这一行:#sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES我重新启动计算机但仍然无法正常工作,但根据在线文档和

php - 为什么 SUM (`column` ) 返回一个字符串而不是一个整数?

我正在使用Laravel并有一个查询使用列的DB::raw()SUM()进行选择:DB::raw("SUM(points)asgame_points")我已经安装了mysqldnAFAIKLaravel使用PDO。但是game_points是一个字符串,不管列是什么类型。(这是一个整数列)另外,如果我这样做:DB::raw("COUNT(id)asfoo_bar")foo_bar作为整数返回。 最佳答案 这既不是Laravel也不是PDO的问题。根据MySQLmanual,SUM()为精确值参数(integer或DECIMAL)返回

php - 我可以使用 ALTER DATABASE 重命名 mysql 数据库吗?

我将PDO与PHP结合使用来创建一个新数据库,然后创建一个对该数据库具有权限的新用户。万一其中一个失败,我想重命名数据库和用户,以便以后可以删除它们并且名称可用。是否可以使用ALTERDATABASE重命名mysql数据库? 最佳答案 重复——参见HowdoIquicklyrenameamysqldatabase(changeschemaname)简而言之,没有。MySQL没有快速/简单的方法来重命名数据库。您必须从命令行使用mysqladmin和mysqldump。有关所有详细信息,请参阅上面的问题。

mysql - INFORMATION_SCHEMA.key_column_usage 在 MySQL 中的性能不佳

我正在运行MySQL5.5.11版本,查询INFORMATION_SCHEMA.key_column_usage表时的性能非常糟糕。我有一个简单的选择请求:SELECTREFERENCED_TABLE_NAME,TABLE_NAMEASTableName,COLUMN_NAMEASColumnName,CONSTRAINT_SCHEMAASDbFROMINFORMATION_SCHEMA.key_column_usage返回400行平均需要8秒。这是一个已知问题吗?如果是这样,是否有提高性能的方法(也许是补丁?)。 最佳答案 通过使

mysql - Liquibase 先决条件 : How do I check for a column being non-nullable?

我有一个数据库升级脚本来删除列上的非空约束。我想做一个先决条件检查,并且只在非空时调用ALTERTABLE。master.xml脚本是一个渐进式脚本,我不断添加脚本,整个脚本每次都会运行。在我的AlterTable脚本第一次运行后,我不希望它再次运行。无法为此找到预定义的前提条件,也无法编写sqlcheck。 最佳答案 可以用sqlCheck来完成。对于MySqlSELECTis_NullableFROMINFORMATION_SCHEMA.COLUMNSWHEREtable_name=''ANDcolumn_name=''对于甲骨

php - 从 SHOW COLUMNS mysql 中排除某些列

我有这个查询:SHOWCOLUMNSFROMmash它在我的while循环中运行良好,用于构建由表列名称组成的选择元素。但是在我的表中,我在select元素中有我不想要的“id”和“tstamp”,是否可以排除这些列?echo"";connectDB();$result=mysql_query("SHOWCOLUMNSFROMmash")ordie(mysql_error());echo'';while($row=mysql_fetch_array($result)){echo"".ucwords($row[0])."";}closeConn();echo'';echo"";

java.sql.SQLException : Column Index out of range, 0 < 1

我想显示数据库中的所有图像。我已经编写了代码,但显示错误java.sql.SQLException:ColumnIndexoutofrange,0|application_name|varchar(45)||application_id|varchar(10)||application_path|varchar(500)||application_icon|blob|我只想显示图片。下面是我的servlet代码图标下载.javaprotectedvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse)throwsS

mysql - ALTER TABLE lhm 迁移删除现有值

require'lhm'classRenameField1ToField2ForTable发生了什么:Rails-4.0:rakedb:migrate字段重命名成功。所有现有的字段值都被删除,为什么?有什么想法吗?编辑:旧数据类型是float(11)MySQL5.6 最佳答案 我强烈建议您使用LHM提供的模仿Rails方法的方法(如果您打算使用LHM):Lhm.change_table(:users)do|m|m.change_column(:old_column,:float)m.rename_column(:old_column