草庐IT

alter_column

全部标签

mysql - mysql中show column和describe的区别?

在MYSQL中有什么区别吗:-SHOWCOLUMNSfromXYZ;和DESCXYZ;两者似乎都给出相同的结果 最佳答案 这种情况下的信息来源是文档EXPLAINSyntaxDESCRIBEisashortcutforSHOWCOLUMNS....TheDESCRIBEstatementisprovidedforcompatibilitywithOracle.两者都提供了列名模式匹配的方法SHOWCOLUMNSFROMusersLIKE'%name';DESCusers'%name';这是SQLFiddle演示

MySQL 错误 "There can be only one TIMESTAMP column with CURRENT_TIMESTAMP in DEFAULT clause"即使我没有做错

CREATETABLEAlarmHistory(idINTUNSIGNEDNOTNULLAUTO_INCREMENTPRIMARYKEY,valueDOUBLENOTNULL,startedStampTIMESTAMPNOTNULL,finishedStampTIMESTAMPDEFAULTCURRENT_TIMESTAMPNOTNULL,);尝试创建上表时出现以下错误:“SQL错误(1293):表定义不正确;在DEFAULT或ONUPDATE子句中只能有一个带有CURRENT_TIMESTAMP的TIMESTAMP列”。我的问题是这是一个错误吗?因为当然,我有两个TIMESTAMP列

java - com.mysql.jdbc.MysqlDataTruncation : Data truncation: Data too long for column 'column_name'

我在使用JavaJDBC和MySQL时遇到了这个错误:com.mysql.jdbc.MysqlDataTruncation:Datatruncation:Datatoolongforcolumn'column_name'我该如何补救这个错误? 最佳答案 当我打算将图像文件作为字节插入数据库时​​,我在我的SpringBootDataJPA应用程序中遇到了同样的问题-它给了我同样的错误。经过多次研发,我找到了如下解决方案。我在我的application.properties文件中添加了以下行,它解决了这个问题:spring.datas

MySQL : loop over tables and alter table add index

我有大约1000个以相同前缀开头的表:table_prefix_{SOME_ID}(我可以从另一个表中获取ID)遍历所有mysql中的表并执行以下操作的快速方法是什么:ALTERTABLE`table_prefix_{some_id}`ADDINDEX`fields`(`field`) 最佳答案 忘记循环。只需这样做:selectconcat('altertable',a.table_name,'addindex`fields`(`field`);')frominformation_schema.tablesawherea.tabl

mysql - 使用alter table添加分区失败

我有一个结构如下的表:CREATETABLE`child_table`(`id`int(11)NOTNULLAUTO_INCREMENT,`value`int,`ref_id`int,PRIMARYKEY(`id`),KEY`ref_id`(`ref_id`),CONSTRAINT`FK4E9BF08E940F8C98`FOREIGNKEY(`ref_id`)REFERENCES`parent_table`(`id`)ONDELETECASCADE)运行语句添加分区时,失败并显示错误:ERROR1217:Cannotdeleteorupdateaparentrow:aforeignke

php - Doctrine 迁移 : adding and removing two foreign key columns to existing table is not working

我有现有的表pricing,在迁移脚本中我想添加两个新列pricing_set_id和coe_id,它们都是外键.在up函数上,它运行完美,没有任何错误,但是当我运行down函数时,它出现了错误。我的代码如下。在up函数上:$pricingTable=$schema->getTable('pricing');$pricingSetTable=$schema->getTable('pricing_set');if(!$pricingTable->hasColumn('pricing_set_id')){$pricingTable->addColumn('pricing_set_id','

java - 奇怪的 SQLException : Column not found

我在使用JDBC对数据库运行的函数上遇到了一个奇怪的SQLException。SQLException:找不到列“消息”。我的函数中有这个:st=con.prepareStatement("SELECTNotificationID,UserIDFrom,UserIDTo,Message,Timestamp,isNotifiedFROMnotificationWHEREUserIDTo=?ANDisNotified=?");st.setInt(1,_UserID);st.setBoolean(2,false);System.out.println("stis:"+st);rs=st.ex

mysql - 错误 1366 - 不正确的十进制值 : '' for column '' at row -1

我有一个相当大的查询,它试图获取承运人列表并比较他们记录在案的保险金额,以确定未达到最低阈值的承运人。如果我运行select查询,它工作正常,没有错误。但是当我尝试将它用于插入到表中时,它会返回此错误消息[Err]1366-不正确的十进制值:''forcolumn''atrow-1我必须在此查询的底部使用转换为十进制,因为存储在数据库中的值是一个varchar,我无法更改它。有人有什么想法吗?set@cw_days=15;INSERTINTOcarrier_dnl(carrier_id,dnl_reason_id,status_id)SELECTwork_cw_carrier_stat

MySQL : Selecting values from a specific column is very slow

我有一个名为key_word的mysql数据库。它有3列,2300万行。请看下面的查询。SELECT`indexVal`FROM`key_word`WHERE`hashed_word`='001'此查询大约需要6秒才能显示结果。结果包含169669行。这非常非常慢。但是,我注意到这种情况“仅”在我尝试获取indexVal中的记录时发生。以下所有查询都非常快。SELECT`primary_key`FROM`key_word`WHERE`hashed_word`='001'SELECT`hashed_word`FROM`key_word`WHERE`indexVal`=0所有这3列都是单独

MySQL 优化 : EXPLAIN "Extra" column contains "Using Where"

所以我一直认为在Extra栏中看到“UsingWhere”是一件好事。然而,我正计划为我的同事提供一个棕色袋子午餐来解释EXPLAIN,现在我不太确定了。MySQL文档在关于“UsingWhere”的注释中这样说:AWHEREclauseisusedtorestrictwhichrowstomatchagainstthenexttableorsendtotheclient.Unlessyouspecificallyintendtofetchorexamineallrowsfromthetable,youmayhavesomethingwronginyourqueryiftheExtra